使用 S3 HeadObject 請求從 StorageGRID 中的物件擷取中繼資料
您可以使用 S3 HeadObject 請求從物件中擷取中繼資料,而無需傳回物件本身。如果物件儲存在雲端儲存資源池中,您可以使用 HeadObject 來確定物件的轉換狀態。
HeadObject 和多部分物件
您可以使用 `partNumber`請求參數來擷取多部分物件或分段物件中特定部分的中繼資料。 `x-amz-mp-parts-count`回應元素指示物件包含多少個部分。
您可以將 `partNumber`設為 1,適用於分段/多部分物件和非分段/非多部分物件;但是, `x-amz-mp-parts-count`回應元素僅針對分段或多部分物件傳回。
使用者中繼資料中的 UTF-8 字元
StorageGRID 不會解析或解釋使用者自訂中繼資料中的轉義 UTF-8 字元。如果鍵名或值包含不可列印字元,則針對使用者自訂中繼資料中含有轉義 UTF-8 字元之物件的 HEAD 請求不會傳回 `x-amz-missing-meta`標頭。
支援的請求標頭
支援下列要求標頭:
-
x-amz-checksum-modeThe
partNumber參數和Range標頭不支援x-amz-checksum-mode用於 HeadObject。當您在啟用x-amz-checksum-mode的情況下將它們包含在請求中時,StorageGRID 不會在回應中傳回 Checksum 值。
不支援的要求標頭
以下請求標頭不受支援,並傳回 XNotImplemented:
-
x-amz-website-redirect-location
版本控制
如果 versionId`未指定子資源,則操作會從版本化儲存桶中擷取物件的最新版本。如果物件的目前版本是刪除標記,則會傳回「找不到」狀態,並將 `x-amz-delete-marker`回應標頭設為 `true。
使用客戶提供的加密金鑰進行伺服器端加密的請求標頭 (SSE-C)
如果物件使用您提供的唯一加密金鑰進行加密,請使用這三個標頭。
-
x-amz-server-side-encryption-customer-algorithm:指定AES256。 -
x-amz-server-side-encryption-customer-key:指定物件的加密金鑰。 -
x-amz-server-side-encryption-customer-key-MD5:指定物件加密金鑰的 MD5 摘要。
|
|
您提供的加密金鑰不會被儲存。如果您遺失加密金鑰,您將遺失對應的物件。在使用客戶提供的金鑰保護物件資料之前,請審查 "使用伺服器端加密" 中的注意事項。 |
HeadObject 雲端儲存資源池物件的回應
如果物件儲存在 "雲端儲存資源池" 中,則會傳回下列回應標頭:
-
x-amz-storage-class: GLACIER -
x-amz-restore
回應標頭提供物件移至 Cloud Storage Pool、選擇性轉換為無法擷取狀態及還原時的狀態相關資訊。
| 物件狀態 | 回應 HeadObject |
|---|---|
已擷取至 StorageGRID 但尚未由 ILM 評估的物件,或儲存於傳統儲存資源池或使用銷毀編碼的物件。 |
|
物件位於雲端儲存資源池中,但尚未轉換為不可擷取狀態 |
在物件轉換為不可擷取狀態之前, |
物件已轉換為不可擷取狀態,但網格上至少還存在一個複本。 |
`expiry-date` 的值設定為遙遠未來的某個時間點。 注意:如果網格上的複本不可用(例如,儲存節點當機),則必須先發出 "RestoreObject" 請求,從 Cloud Storage Pool 還原複本,才能成功擷取物件。 |
物件已轉換為不可擷取狀態,且網格上不存在複本。 |
|
正在從不可擷取狀態還原的物件 |
|
物件已完全還原至雲端儲存資源池 |
此 `expiry-date`參數指示雲端儲存資源池中的物件何時將恢復至不可擷取狀態。 |
雲端儲存資源池中的多部分或分段物件
如果您上傳了多部分物件,或 StorageGRID 將大型物件分割為多個區段,StorageGRID 會透過對物件的部分或區段進行抽樣,來判斷該物件是否可在雲端儲存資源池中使用。在某些情況下,當物件的某些部分已轉換為不可擷取狀態,或物件的某些部分尚未還原時,HeadObject 請求可能會錯誤地傳回 x-amz-restore: ongoing-request="false"。
HeadObject 以及跨網格複寫
如果您正在使用 "${post_edited_translations.segment}" 且已為儲存桶啟用 "${post_edited_translations.segment}",則 S3 用戶端可以透過發出 HeadObject 請求來驗證物件的複寫狀態。回應包含 StorageGRID 特有的 x-ntap-sg-cgr-replication-status 回應標頭,該標頭將具有下列其中一個值:
| ${post_edited_translations.segment} | ${post_edited_translations.segment} |
|---|---|
來源 |
|
目的地 |
${post_edited_translations.segment} |
|
|
StorageGRID 不支援 `x-amz-replication-status`標頭。 |