建立多部分上傳
CreateMultipartUpload(以前稱為 Initiate Multipart Upload)操作為物件啟動分段上傳,並傳回上傳 ID。
這 `x-amz-storage-class`支援請求標頭。提交的價值 `x-amz-storage-class`影響StorageGRID在攝取期間如何保護物件數據,而不是影響StorageGRID系統中儲存了多少個物件的持久副本(由 ILM 決定)。
如果與已攝取物件相符的 ILM 規則使用嚴格"攝取選項", 這 `x-amz-storage-class`標頭無效。
以下值可用於 x-amz-storage-class:
-
STANDARD(預設)-
雙重提交:如果 ILM 規則指定了雙重提交攝取選項,則一旦攝取對象,就會建立該對象的第二個副本並將其分發到不同的儲存節點(雙重提交)。在評估 ILM 時, StorageGRID會決定這些初始臨時副本是否符合規則中的放置說明。如果沒有,則可能需要在不同位置製作新的物件副本,並且可能需要刪除初始臨時副本。
-
平衡:如果 ILM 規則指定了平衡選項,且StorageGRID無法立即製作規則中指定的所有副本,StorageGRID會在不同的儲存節點上製作兩個暫存副本。
如果StorageGRID可以立即建立 ILM 規則中指定的所有物件副本(同步放置),則 `x-amz-storage-class`標頭無效。
-
-
REDUCED_REDUNDANCY-
雙重提交:如果 ILM 規則指定了雙重提交選項, StorageGRID會在物件被攝取時建立一個臨時副本(單次提交)。
-
平衡:如果 ILM 規則指定了平衡選項,則僅當系統無法立即製作規則中指定的所有副本時, StorageGRID才會製作單一暫存副本。如果StorageGRID可以執行同步放置,則此標頭無效。這 `REDUCED_REDUNDANCY`當與物件相符的 ILM 規則建立單一複製副本時,最好使用此選項。在這種情況下使用 `REDUCED_REDUNDANCY`消除了每次攝取操作時不必要的額外物件副本的建立和刪除。
使用 `REDUCED_REDUNDANCY`在其他情況下不建議選擇此選項。 `REDUCED_REDUNDANCY`增加了攝取過程中物件資料遺失的風險。例如,如果單一副本最初儲存在儲存節點上,而該儲存節點在 ILM 評估發生之前發生故障,則您可能會遺失資料。
-
|
|
任何時間段內只有一個複製副本會使資料面臨永久遺失的風險。如果某個物件的副本只有一個,則當儲存節點發生故障或發生重大錯誤時,該物件將會遺失。在升級等維護過程中,您也會暫時失去對該物件的存取權限。 |
指定 `REDUCED_REDUNDANCY`僅影響首次攝取物件時所建立的副本數量。它不會影響活動 ILM 策略評估物件時產生的物件副本數量,也不會導致資料在StorageGRID系統中以較低的冗餘層級進行儲存。
|
|
如果您將物件提取到啟用了 S3 物件鎖定的儲存桶中,則 `REDUCED_REDUNDANCY`選項被忽略。如果您將物件提取到舊版相容儲存桶中, `REDUCED_REDUNDANCY`選項傳回錯誤。 StorageGRID將始終執行雙重提交攝取以確保滿足合規性要求。 |
支援的請求標頭
支援以下請求標頭:
-
Content-Type -
x-amz-checksum-algorithm目前,只有 `x-amz-checksum-algorithm`受支持。
-
x-amz-meta-,後面跟著包含使用者定義元資料的名稱-值對為使用者定義的元資料指定名稱-值對時,請使用下列通用格式:
x-amz-meta-_name_: `value`
如果要使用 使用者定義建立時間 選項作為 ILM 規則的參考時間,則必須使用 `creation-time`作為記錄物件建立時間的元資料的名稱。例如:
x-amz-meta-creation-time: 1443399726
價值 `creation-time`以 1970 年 1 月 1 日以來的秒數計算。
添加 `creation-time`因為如果您將物件新增至已啟用舊版合規性的儲存桶,則不允許使用者定義的元資料。將返回錯誤。 -
S3 物件鎖定請求標頭:
-
x-amz-object-lock-mode -
x-amz-object-lock-retain-until-date -
x-amz-object-lock-legal-hold如果發出的請求沒有這些標頭,則使用儲存桶預設保留設定來計算物件版本的保留截止日期。
-
-
SSE 請求標頭:
-
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
有關StorageGRID如何處理 UTF-8 字元的信息,請參閱"放置對象"。 -
伺服器端加密的請求標頭
您可以使用下列請求標頭透過伺服器端加密來加密多部分物件。 SSE 和 SSE-C 選項是互斥的。
-
SSE:如果您想使用由StorageGRID管理的唯一金鑰加密對象,請在 CreateMultipartUpload 請求中使用下列標頭。不要在任何 UploadPart 請求中指定此標頭。
-
x-amz-server-side-encryption
-
-
SSE-C:如果您想使用您提供和管理的唯一密鑰加密對象,請在 CreateMultipartUpload 請求(以及每個後續 UploadPart 請求)中使用所有這三個標頭。
-
x-amz-server-side-encryption-customer-algorithm: 指定AES256。 -
x-amz-server-side-encryption-customer-key:為新物件指定加密金鑰。 -
x-amz-server-side-encryption-customer-key-MD5:指定新物件的加密金鑰的 MD5 摘要。
-
|
|
您提供的加密金鑰永遠不會被儲存。如果遺失了加密金鑰,您就會遺失對應的物件。在使用客戶提供的金鑰保護物件資料之前,請先查看以下注意事項"使用伺服器端加密"。 |
不支援的請求標頭
不支援以下請求標頭:
-
x-amz-website-redirect-location這
x-amz-website-redirect-location`標題返回 `XNotImplemented。
版本控制
分段上傳包括啟動上傳、列出上傳、上傳部分、組裝上傳部分和完成上傳的單獨操作。執行 CompleteMultipartUpload 作業時會建立物件(如果適用,也會進行版本控制)。