[英]How to copy S3 objects between regions with Amazon AWS PHP SDK?
我正在嘗試使用Amazon AWS PHP SDK v3在兩個不同區域的兩個存儲桶之間復制Amazon AWS S3對象。 這將是一次性過程,因此我不需要cross-region replication
。 試圖使用copyObject()
但沒有辦法指定區域。
$s3->copyObject(array(
'Bucket' => $targetBucket,
'Key' => $targetKeyname,
'CopySource' => "{$sourceBucket}/{$sourceKeyname}",
));
資料來源: http : //docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectUsingPHP.html
您無需為該操作指定區域。 它會找出目標桶的區域並復制它。
但您可能是對的,因為在AWS CLI上存在PHP SDK上不存在的源區域和目標區域屬性。 所以你可以完成這樣的任務:
或者只使用cli並使用以下單個命令:
aws s3 cp s3://my-source-bucket-in-us-west-2/ s3://my-target-bucket-in-us-east-1/ --recursive --source-region us-west-2 --region us-east-1
不同的區域桶也可以是不同的帳戶。 其他人一直在做的是從一個存儲桶復制並在本地臨時保存數據,然后上傳到具有不同憑據的不同存儲桶。 (如果您有兩個具有不同憑據的區域存儲桶)。
CLI工具的最新更新允許您從存儲桶復制到存儲桶,如果它在同一帳戶下。 使用ÇağatayGürtürk提到的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.