3

REST または SOAP を使用して Amazon S3 オブジェクトのキー/名前を変更するにはどうすればよいですか?

4

1 に答える 1

3

オブジェクトの名前を変更する唯一の方法は、古いオブジェクトを新しいオブジェクトにコピーし、新しいコピーに新しい名前を設定することです。

必要な REST 呼び出しについては、こちらで詳しく説明しています。

構文

PUT /destinationObject HTTP/1.1
Host: destinationBucket.s3.amazonaws.com
x-amz-copy-source: /source_bucket/sourceObject
x-amz-metadata-directive: metadata_directive
x-amz-copy-source-if-match: etag
x-amz-copy-source-if-none-match: etag
x-amz-copy-source-if-unmodified-since: time_stamp
x-amz-copy-source-if-modified-since: time_stamp
<request metadata>
Authorization: signatureValue
Date: date

この PUT オペレーションの実装は、Amazon S3 にすでに保存されているオブジェクトのコピーを作成します。PUT コピー操作は、GET を実行してから PUT を実行するのと同じです。リクエスト ヘッダー x-amz-copy-source を追加すると、PUT 操作でソース オブジェクトが宛先バケットにコピーされます。

ただし、既存の ACL に注意してください。

オブジェクトをコピーする場合、ほとんどのメタデータを保持するか (デフォルト)、新しいメタデータを指定できます。ただし、ACL は保持されず、要求を行うユーザーに対して非公開に設定されます。

于 2012-08-29T21:06:34.103 に答える