放置物件-複製
您可以使用「S3放置物件-複製」要求來建立S3中已儲存物件的複本。「放置物件」-「複製」作業與執行「取得」和「放置」相同。
解決衝突
相互衝突的用戶端要求(例如兩個寫入同一個金鑰的用戶端)會以「最新致勝」的方式解決。「最新致勝」評估的時間、是根據StorageGRID 下列條件而定:當系統完成特定要求時、S3用戶端開始作業時、不會開啟。
物件大小
支援高達5 TB大小的物件StorageGRID 。
使用者中繼資料中的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
如果StorageGRID 相符的ILM規則指定「雙重認可」或「平衡」的擷取行為、則會支援要求標頭、並影響到所建立的物件複本數量。
-
STANDARD
(預設)當ILM規則使用雙重提交選項、或平衡選項回到建立臨時複本時、指定雙重提交擷取作業。
-
REDUCED_REDUNDANCY
當ILM規則使用雙重提交選項、或平衡選項回到建立過渡複本時、指定單一提交擷取作業。
如果您將物件擷取至啟用S3物件鎖定的儲存區、則會顯示 REDUCED_REDUNDANCY
選項會被忽略。如果您要將物件擷取至舊版相容的儲存區、請使用REDUCED_REDUNDANCY
選項會傳回錯誤。執行「雙重承諾」的程序時、務必確保符合法規遵循要求。StorageGRID
在「放置物件-複製」中使用x-amz-copy-來源
如果來源儲存區和金鑰、請在中指定 x-amz-copy-source
標頭與目的地桶和金鑰不同、來源物件資料的複本會寫入目的地。
如果來源和目的地相符、則會顯示和 x-amz-metadata-directive
標頭指定為 REPLACE
、會以要求中提供的中繼資料值來更新物件的中繼資料。在這種情況StorageGRID 下、無法重新擷取物件。這有兩個重要後果:
-
您無法使用「放置物件」-「複製」來加密現有物件、或是變更現有物件的加密。如果您提供
x-amz-server-side-encryption
標頭或x-amz-server-side-encryption-customer-algorithm
標頭StorageGRID 、不接受要求並退貨XNotImplemented
。 -
不會使用相符ILM規則中指定的擷取行為選項。當ILM由正常背景ILM程序重新評估時、會對更新所觸發的物件放置位置進行任何變更。
這表示、如果ILM規則使用嚴格選項來擷取行為、則無法進行所需的物件放置(例如、因為新需要的位置無法使用)、則不會採取任何行動。更新後的物件會保留其目前的放置位置、直到能夠放置所需的位置為止。
要求伺服器端加密的標頭
如果您使用伺服器端加密、所提供的要求標頭取決於來源物件是否加密、以及您是否打算加密目標物件。
-
如果來源物件是使用客戶提供的金鑰(SSE-C)加密、您必須在「放置物件-複製」要求中包含下列三個標頭、以便解密物件、然後複製:
-
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摘要。
-
-
如果您要使用您提供及管理的唯一金鑰來加密目標物件(複本)、請包含下列三個標頭:
-
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 由支援對象(複本)的獨特金鑰來加密目標物件(複本)、請在「放置物件-複製」要求中加入此標頭:
-
x-amz-server-side-encryption
-
附註: The 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」值。