Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

放置物件-複製

貢獻者

您可以使用「S3放置物件-複製」要求來建立S3中已儲存物件的複本。「放置物件」-「複製」作業與執行「取得」和「放置」相同。

解決衝突

衝突的用戶端要求(例如兩個寫入同一個金鑰的用戶端)會以「最新致勝」的方式解決。「最新致勝」評估的時間取決於StorageGRID 何時由VMware系統完成指定的要求、而非S3用戶端開始作業的時間。

物件大小

單一放置物件作業的最大_Recommended大小為5 GiB(5、368、709、120位元組)。如果您的物件大於5 GiB、請改用多部份上傳。

單一放置物件作業的最大 _ 支援 _ 大小為 5 TiB ( 5 、 497 、 558 、 138 、 880 位元組)。但是、如果您嘗試上傳超過5 GiB的物件、則會觸發* S3「Pure Object size too large (將物件大小設為太大)」警示。

使用者中繼資料中的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

      如果要求是在沒有這些標頭的情況下提出、則貯體預設保留設定會用於計算物件版本模式並保留至最新日期。請參閱 "使用 S3 REST API 來設定 S3 物件鎖定"

  • 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

      註 server-side-encryption 物件的值無法更新。改用新的複本 server-side-encryption 使用價值 x-amz-metadata-directiveREPLACE

版本管理

如果來源儲存區已版本化、您可以使用 x-amz-copy-source 標頭以複製物件的最新版本。若要複製物件的特定版本、您必須使用明確指定要複製的版本 versionId 子資源:如果目標儲存區已版本化、則會在中傳回所產生的版本 x-amz-version-id 回應標頭:如果目標儲存區的版本設定已暫停、則 x-amz-version-id 傳回「'null」值。