StorageGRID の S3 HeadObject リクエストを使用してオブジェクトからメタデータを取得する
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-mode`partNumber`パラメータと `Range`ヘッダーは、 `x-amz-checksum-mode`では HeadObject に対してサポートされていません。リクエストに `x-amz-checksum-mode`を有効にして含める場合、StorageGRID はレスポンスにチェックサム値を返しません。
サポートされていないリクエストヘッダー
以下のリクエストヘッダーはサポートされておらず、 `XNotImplemented`を返します:
-
x-amz-website-redirect-location
バージョン管理
`versionId`サブリソースが指定されていない場合、この操作はバージョン管理されたバケット内のオブジェクトの最新バージョンを取得します。オブジェクトの現在のバージョンが削除マーカーである場合、「見つかりません」ステータスが返され、 `x-amz-delete-marker`レスポンスヘッダーは `true`に設定されます。
顧客提供の暗号化キーを使用したサーバー側暗号化(SSE-C)のリクエストヘッダー
オブジェクトが指定した固有のキーで暗号化されている場合は、これら3つのヘッダーをすべて使用してください。
-
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
レスポンスヘッダーには、オブジェクトがクラウドストレージプールに移動される際、オプションで復元不可能な状態に移行される際、および復元される際のオブジェクトの状態に関する情報が含まれます。
| オブジェクトの状態 | HeadObject への応答 |
|---|---|
StorageGRID に取り込まれたがILMによってまだ評価されていないオブジェクト、または従来のストレージプールに保存されているオブジェクト、またはイレイジャー コーディングを使用して保存されているオブジェクト |
|
クラウドストレージプール内のオブジェクトだが、まだ取得不可能な状態に移行していない |
オブジェクトが取得不可能な状態に移行するまで、 `expiry-date`の値は遠い未来のある時点に設定されています。移行の正確な時間は、StorageGRID システムによって制御されません。 |
オブジェクトは取得不可能な状態に移行しましたが、グリッド上には少なくとも1つのコピーが存在します。 |
`expiry-date`の値は、遠い将来のある時点に設定されています。 注: グリッド上のコピーが利用できない場合(たとえば、ストレージノードがダウンしている場合)、オブジェクトを正常に取得するには、クラウドストレージプールからコピーを復元するための "RestoreObject" リクエストを発行する必要があります。 |
オブジェクトが取得不可能な状態に移行し、グリッド上にコピーが存在しません |
|
復元不可能な状態から復元処理中のオブジェクト |
|
オブジェクトがクラウドストレージプールに完全に復元されました。 |
`expiry-date`は、クラウドストレージプール内のオブジェクトがいつ復元不可能な状態に戻されるかを示します。 |
クラウドストレージプール内のマルチパートオブジェクトまたはセグメントオブジェクト
マルチパートオブジェクトをアップロードした場合、またはStorageGRIDが大きなオブジェクトをセグメントに分割した場合、StorageGRIDはオブジェクトの一部またはセグメントのサブセットをサンプリングすることにより、そのオブジェクトがクラウドストレージプールで利用可能かどうかを判断します。場合によっては、HeadObjectリクエストが誤って返される可能性があります `x-amz-restore: ongoing-request="false"`オブジェクトの一部がすでに取得不可能な状態に移行している場合、またはオブジェクトの一部がまだ復元されていない場合。
HeadObjectおよびクロスグリッド複製
使用している場合は"グリッドフェデレーション"、"グリッド間複製"がバケットに対して有効になっている場合、S3クライアントはHeadObjectリクエストを発行することでオブジェクトのレプリケーションステータスを確認できます。応答にはStorageGRID固有の `x-ntap-sg-cgr-replication-status`レスポンスヘッダーが含まれ、以下のいずれかの値を持ちます:
| Grid | レプリケーションステータス |
|---|---|
ソース |
|
デスティネーション |
レプリカ:オブジェクトはソースグリッドから複製されました。 |
|
|
StorageGRID は `x-amz-replication-status`ヘッダーをサポートしていません。 |