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

使用 GetObject 請求從 StorageGRID 中的儲存桶檢索物件

您可以使用 S3 GetObject 請求從 S3 儲存桶中擷取物件。

GetObject 和多部分物件

您可以使用 `partNumber`請求參數來擷取多部分物件或分段物件中的特定部分。 `x-amz-mp-parts-count`回應元素指示物件包含多少個部分。

您可以將 `partNumber`設為 1,適用於分段/多部分物件和非分段/非多部分物件;但是, `x-amz-mp-parts-count`回應元素僅針對分段或多部分物件傳回。

使用者中繼資料中的 UTF-8 字元

StorageGRID 不會解析或解釋使用者自訂中繼資料中的轉義 UTF-8 字元。如果索引鍵名稱或值包含不可列印字元,則針對使用者自訂中繼資料中含有轉義 UTF-8 字元之物件的 GET 請求不會傳回 `x-amz-missing-meta`標頭。

支援的請求標頭

支援下列要求標頭:

  • x-amz-checksum-mode:指定 ENABLED

    針對 GetObject,不支援將 Range 標頭與 x-amz-checksum-mode 搭配使用。當您在啟用 x-amz-checksum-mode 的情況下,於要求中包含 Range 時,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 摘要。

警告 您提供的加密金鑰不會被儲存。如果您遺失加密金鑰,您將遺失對應的物件。在使用客戶提供的金鑰保護物件資料之前,請審查 "使用伺服器端加密" 中的注意事項。

Cloud Storage Pool 物件的 GetObject 行為

如果物件已儲存在 "雲端儲存資源池" 中,GetObject 請求的行為取決於該物件的狀態。如需詳細資訊,請參閱 "HeadObject"

註 如果物件儲存在雲端儲存資源池中,且該物件的一個或多個複本也存在於網格中,GetObject 請求將嘗試先從網格擷取資料,再從雲端儲存資源池擷取資料。
物件狀態 GetObject 的行為

已擷取至 StorageGRID 但尚未由 ILM 評估的物件,或儲存於傳統儲存資源池或使用銷毀編碼的物件。

200 OK

已擷取物件的複本。

物件位於雲端儲存資源池中,但尚未轉換為不可擷取狀態

200 OK

已擷取物件的複本。

物件已轉換為不可擷取狀態

403 Forbidden, InvalidObjectState

使用 "RestoreObject" 請求將物件還原至可擷取狀態。

正在從不可擷取狀態還原的物件

403 Forbidden, InvalidObjectState

等待 RestoreObject 請求完成。

物件已完全還原至雲端儲存資源池

200 OK

已擷取物件的複本。

雲端儲存資源池中的多部分或分段物件

如果您上傳的是多部分物件,或者 StorageGRID 將大型物件分割為多個區段,StorageGRID 會透過對物件的部分或區段進行抽樣,來確定該物件是否在雲端儲存資源池中可用。在某些情況下,GetObject 請求可能會在物件的某些部分已轉換為不可擷取狀態,或物件的某些部分尚未還原時,錯誤地傳回 200 OK

在這些情況下:

  • GetObject 請求可能會傳回一些資料,但傳輸過程中會中途停止。

  • 後續 GetObject 請求可能會傳回 403 Forbidden

GetObject 以及跨網格複寫

如果您正在使用 "${post_edited_translations.segment}" 且已為儲存桶啟用 "${post_edited_translations.segment}",則 S3 用戶端可以透過發出 GetObject 請求來驗證物件的複寫狀態。回應包含 StorageGRID 特有的 x-ntap-sg-cgr-replication-status 回應標頭,該標頭將具有下列其中一個值:

${post_edited_translations.segment} ${post_edited_translations.segment}

來源

  • COMPLETED: 複寫成功。

  • PENDING:該物件尚未複寫。

  • 失敗:複寫發生永久性故障。使用者必須解決此錯誤。

目的地

${post_edited_translations.segment}

註 StorageGRID 不支援 `x-amz-replication-status`標頭。