オブジェクトの処理

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

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

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

バージョン管理

特定のバージョンを削除するには、バケットの所有者が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に設定されて返されます。
DELETE Multiple Objects

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

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

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

PUT Object処理とは異なり、DELETE Multiple Objects処理では、Transfer-Encoding:chunked属性とContent-Encoding:gzip属性はサポートされません。

DELETE Object tagging

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

バージョン管理

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

GET Object

次の要求ヘッダーはサポートされていません。指定した場合はXNotImplementedが返されます。

  • x-amz-restore
  • x-amz-website-redirect-location

バージョン管理

versionIdサブリソースが指定されていない場合、バージョン管理が有効になっているバケットでは、オブジェクトの最新バージョンが取得されます。オブジェクトの最新バージョンが削除マーカーの場合は、「Not Found」ステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。

GET Object ACL

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

GET Object tagging

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

バージョン管理

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

HEAD Object

次の要求ヘッダーはサポートされていません。指定した場合はXNotImplementedが返されます。

  • x-amz-restore
  • x-amz-website-redirect-location

バージョン管理

versionIdサブリソースが指定されていない場合、バージョン管理が有効になっているバケットでは、オブジェクトの最新バージョンが取得されます。オブジェクトの最新バージョンが削除マーカーの場合は、「Not Found」ステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。

PUT Object

PUT Object

PUT Object - Copy

PUT Object - Copy

PUT Object tagging

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

競合の解決

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

バージョン管理

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