オブジェクトの処理

このセクションでは、StorageGRIDシステムでオブジェクトのS3 REST API処理を実装する方法について説明します。

すべてのオブジェクトの処理に次の条件が適用されます。

次の表に、StorageGRIDでのS3 REST APIオブジェクト処理の実装方法を示します。

処理 実装
DELETE Object

多要素認証(MFA)と応答ヘッダーx-amz-mfaはサポートされていません。

StorageGRIDは、DELETE Object要求を処理する際に、オブジェクトのすべてのコピーをすべての格納場所からただちに削除しようとします。成功すると、StorageGRIDはただちにクライアントに応答を返します。30秒以内にすべてのコピーを削除できなかった場合(格納場所が一時的に使用不能などの理由で)、StorageGRIDは削除対象のコピーをキューに登録し、クライアントに処理が成功したことを通知します。

バージョン管理

特定のバージョンを削除するには、バケットの所有者がversionIdサブリソースを使用して要求を行う必要があります。このサブリソースを使用すると、バージョンが完全に削除されます。versionIdが削除マーカーに対応している場合は、応答ヘッダーx-amz-delete-markertrueに設定されて返されます。

  • バージョン管理が有効になっているバケットでversionIdサブリソースを指定せずにオブジェクトを削除すると、削除マーカーが生成されます。削除マーカーのversionIdx-amz-version-id応答ヘッダーを使用して返され、x-amz-delete-marker応答ヘッダーがtrueに設定されて返されます。
  • バージョン管理が一時停止中のバケットでversionIdサブリソースを指定せずにオブジェクトを削除すると、既存の「null」バージョンまたは「null」削除マーカーが完全に削除され、新しい「null」削除マーカーが生成されます。x-amz-delete-marker応答ヘッダーがtrueに設定されて返されます。
注: 場合によっては、1つのオブジェクトに複数の削除マーカーが存在します。
DELETE Multiple Objects

多要素認証(MFA)と応答ヘッダーx-amz-mfaはサポートされていません。

1つの要求メッセージで複数のオブジェクトを削除できます。

注: DELETE Multiple Objects要求は、バージョン管理が有効になっているバケットではサポートされません。
DELETE Object tagging

taggingサブリソースを使用して、オブジェクトからすべてのタグが削除されます。Amazon S3 REST APIのすべての動作が実装されています。

バージョン管理

要求にversionIdクエリ パラメータが指定されていない場合は、バージョン管理されたバケット内のオブジェクトの最新バージョンからすべてのタグが削除されます。オブジェクトの最新バージョンが削除マーカーの場合は、MethodNotAllowedステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。

GET Object

GET Object

GET Object ACL

アカウントに必要なアクセス クレデンシャルがある場合、オブジェクトの所有者にオブジェクトに対するフル アクセスがあることを示す応答が返され、所有者のID、表示名、および権限が表示されます。

GET Object tagging

taggingサブリソースを使用して、オブジェクトのすべてのタグが返されます。Amazon S3 REST APIのすべての動作が実装されています。

バージョン管理

要求にversionIdクエリ パラメータが指定されていない場合は、バージョン管理されたバケット内のオブジェクトの最新バージョンからすべてのタグが返されます。オブジェクトの最新バージョンが削除マーカーの場合は、MethodNotAllowedステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。

HEAD Object

HEAD Object

POST Object restore

POST Object restore

PUT Object

PUT Object

PUT Object - Copy

PUT Object - Copy

PUT Object tagging

taggingサブリソースを使用して、既存のオブジェクトに一連のタグが追加されます。Amazon S3 REST APIのすべての動作が実装されています。

タグの更新と取り込み動作

PUT Object taggingを使用してオブジェクトのタグを更新した場合、StorageGRIDはオブジェクトを再取り込みしません。このことは、一致するILMルールで指定されている取り込み動作が使用されないことを意味します。更新によって発生したオブジェクト配置の変更は、通常のバックグラウンドILMプロセスでILMが再評価されるときに実施されます。

このため、ILMルールの取り込み動作にStrictオプションが指定されている場合、必要なオブジェクト配置を実行できないと(たとえば、新たに必要となった場所を使用できない場合)、アクションは実行されません。更新されたオブジェクトは、必要な配置を実行可能になるまで元の場所にとどまります。

競合の解決

競合するクライアント要求(2つのクライアントが同じキーに書き込む場合など)は、latest-winsベースで解決されます。latest-wins評価は、S3クライアントが処理を開始するタイミングではなく、StorageGRIDシステムが特定の要求を完了したタイミングで行われます。

バージョン管理

要求にversionIdクエリ パラメータが指定されていない場合は、バージョン管理されたバケット内のオブジェクトの最新バージョンにタグが追加されます。オブジェクトの最新バージョンが削除マーカーの場合は、MethodNotAllowedステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。