PUT Object - Copy の各コマンドを実行します
S3 PUT Object - Copy 要求を使用すると、すでに S3 に格納されているオブジェクトのコピーを作成できます。PUT Object - Copy 処理は、 GET を実行してから PUT を実行する処理と同じです。
競合の解決
同一キーに書き込む2つのクライアントなど'競合するクライアント要求は'最新のWINS形式で解決されます「latest-wins」評価のタイミングは、S3クライアントが処理を開始するタイミングではなく、StorageGRID システムが特定の要求を完了したタイミングに基づいています。
オブジェクトのサイズ
StorageGRID は、サイズが最大5TBのオブジェクトをサポートします。
ユーザメタデータ内の UTF-8 文字
要求のユーザ定義メタデータのキー名または値に(エスケープされていない) UTF-8 文字が含まれている場合、 StorageGRID の動作は定義されていません。
ユーザ定義メタデータのキー名または値に含まれているエスケープされた UTF-8 文字は、 StorageGRID で解析も解釈もされません。エスケープされた UTF-8 文字は ASCII 文字として扱われます。
-
ユーザ定義メタデータにエスケープされた UTF-8 文字が含まれている場合、要求は正常に実行されます。
-
StorageGRID からが返されない
x-amz-missing-meta
キーの名前または値の解釈後の値に印刷不能文字が含まれている場合は、ヘッダー。
サポートされる要求ヘッダー
次の要求ヘッダーがサポートされています。
-
Content-Type
-
x-amz-copy-source
-
x-amz-copy-source-if-match
-
x-amz-copy-source-if-none-match
-
x-amz-copy-source-if-unmodified-since
-
x-amz-copy-source-if-modified-since
-
`x-amz-meta-`をクリックし、続けてユーザ定義のメタデータを含む名前と値のペアを作成します
-
x-amz-metadata-directive
:デフォルト値はです `COPY`をクリックすると、オブジェクトおよび関連するメタデータをコピーできます。を指定できます
REPLACE
オブジェクトのコピー時に既存のメタデータを上書きする場合、またはオブジェクトメタデータを更新する場合。 -
x-amz-storage-class
-
x-amz-tagging-directive
:デフォルト値はです `COPY`をクリックすると、オブジェクトとすべてのタグをコピーできます。を指定できます
REPLACE
オブジェクトのコピー時に既存のタグを上書きする場合、またはタグを更新する場合。 -
S3 オブジェクトロック要求のヘッダー:
-
x-amz-object-lock-mode
-
x-amz-object-lock-retain-until-date
-
x-amz-object-lock-legal-hold
-
-
SSE 要求ヘッダー:
-
x-amz-copy-source-server-side-encryption-customer-algorithm
-
x-amz-copy-source-server-side-encryption-customer-key
-
x-amz-copy-source-server-side-encryption-customer-key-MD5
-
x-amz-server-side-encryption
-
x-amz-server-side-encryption-customer-key-MD5
-
x-amz-server-side-encryption-customer-key
-
x-amz-server-side-encryption-customer-algorithm
-
サポートされない要求ヘッダーです
次の要求ヘッダーはサポートされていません。
-
Cache-Control
-
Content-Disposition
-
Content-Encoding
-
Content-Language
-
Expires
-
x-amz-website-redirect-location
ストレージクラスのオプション
。 x-amz-storage-class
要求ヘッダーがサポートされ、一致するILMルールで取り込み動作にDual commitまたはBalancedが指定されている場合にStorageGRID で作成されるオブジェクトコピーの数に影響します。
-
STANDARD
(デフォルト) ILM ルールで Dual commit オプションが使用されている場合、または Balanced オプションによって中間コピーが作成される場合に、デュアルコミットの取り込み処理を指定します。
-
REDUCED_REDUNDANCY
ILM ルールで Dual commit オプションが使用されている場合、または Balanced オプションによって中間コピーが作成される場合に、シングルコミットの取り込み処理を指定します。
S3オブジェクトロックを有効にしてオブジェクトをバケットに取り込む場合は、を使用します REDUCED_REDUNDANCY
オプションは無視されます。古い準拠バケットにオブジェクトを取り込む場合は、を参照してくださいREDUCED_REDUNDANCY
オプションを指定するとエラーが返されます。StorageGRID では、常にデュアルコミットの取り込みが実行され、コンプライアンス要件が満たされます。
PUT Object - Copy で x-amz-copy-source を使用しています
ソースのバケットとキーの場合は、で指定します x-amz-copy-source
ヘッダーはデスティネーションのバケットおよびキーとは異なり、ソースオブジェクトデータのコピーがデスティネーションに書き込まれます。
送信元と宛先が一致している場合は、および x-amz-metadata-directive
ヘッダーはのように指定します `REPLACE`では、要求で指定されたメタデータの値に基づいてオブジェクトのメタデータが更新されます。この場合、 StorageGRID はオブジェクトを再取り込みしません。これには 2 つの重要な結果があります。
-
PUT Object - Copy を使用して既存のオブジェクトを暗号化したり、既存のオブジェクトの暗号化を変更したりすることはできません。を用意する場合は
x-amz-server-side-encryption
ヘッダーまたはx-amz-server-side-encryption-customer-algorithm
ヘッダー。StorageGRID は要求を拒否し、戻りますXNotImplemented
。 -
一致する ILM ルールで指定されている取り込み動作のオプションが使用されません。更新によって発生したオブジェクト配置の変更は、通常のバックグラウンド ILM プロセスで ILM が再評価されるときに実施されます。
このため、 ILM ルールの取り込み動作に Strict オプションが指定されている場合、必要なオブジェクト配置を実行できないと(たとえば、新たに必要となった場所を使用できない場合)、アクションは実行されません。更新されたオブジェクトは、必要な配置を実行可能になるまで現在の配置が維持されます。
サーバ側の暗号化を行うための要求ヘッダー
サーバ側の暗号化を使用する場合は、ソースオブジェクトが暗号化されているかどうか、およびターゲットオブジェクトを暗号化するかどうかによって、指定する要求ヘッダーが異なります。
-
ソースオブジェクトがユーザ指定のキーを使用して暗号化されている場合( SSE-C )は、オブジェクトを復号化してコピーできるように、 PUT Object - Copy 要求に次の 3 つのヘッダーを含める必要があります。
-
x-amz-copy-source-server-side-encryption-customer-algorithm
を指定しますAES256
。 -
x-amz-copy-source-server-side-encryption-customer-key
ソースオブジェクトの作成時に指定した暗号化キーを指定します。 -
x-amz-copy-source-server-side-encryption-customer-key-MD5
:ソースオブジェクトの作成時に指定したMD5ダイジェストを指定します。
-
-
ユーザが指定および管理する一意のキーでターゲットオブジェクト(コピー)を暗号化する場合は、次の 3 つのヘッダーを含めます。
-
x-amz-server-side-encryption-customer-algorithm
:指定しますAES256
。 -
x-amz-server-side-encryption-customer-key
:ターゲットオブジェクトの新しい暗号化キーを指定します -
x-amz-server-side-encryption-customer-key-MD5
:新しい暗号化キーのMD5ダイジェストを指定します。
-
-
注意: * 指定した暗号化キーは保存されません。暗号化キーを紛失すると、対応するオブジェクトが失われます。お客様提供の鍵を使用してオブジェクト・データを保護する前に'サーバ側の暗号化の使用に関する考慮事項を確認してください
-
StorageGRID で管理される一意のキーでターゲットオブジェクト(コピー)を暗号化する( SSE )には、 PUT Object - Copy 要求に次のヘッダーを含めます。
-
x-amz-server-side-encryption
-
注: server-side-encryption
オブジェクトの値を更新できません。代わりに、新しいを使用してコピーを作成します server-side-encryption
を使用した値 x-amz-metadata-directive
: REPLACE
。
バージョン管理
ソースバケットがバージョン管理に対応している場合は、を使用できます x-amz-copy-source
オブジェクトの最新バージョンをコピーするヘッダー。オブジェクトの特定のバージョンをコピーするには、を使用してコピーするバージョンを明示的に指定する必要があります versionId
サブリソース:デスティネーションバケットがバージョン管理に対応している場合は、で生成されたバージョンが返されます x-amz-version-id
応答ヘッダー。ターゲットバケットのバージョン管理が一時停止中の場合は、を実行します x-amz-version-id
「null」値を返します。