オブジェクトの処理

Swiftを使用してStorageGRID Webscaleシステムに取り込まれたデータ オブジェクトにS3を使用してアクセスすることはできません。

オブジェクトの処理では、GET Object ACLとOPTIONS /を除くすべての処理でStorageGRID Webscaleの整合性制御がサポートされます。Consistency-Controlヘッダーの使用については、StorageGRID WebscaleでのS3 REST APIの実装を参照してください。

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

StorageGRID Webscaleバケット内のオブジェクトは、匿名ユーザまたは別のアカウントが作成したオブジェクトも含めて、すべてバケット所有者によって所有されます。

StorageGRID Webscaleシステムでサポートされるオブジェクトの処理を次に示します。

処理 実装
DELETE Object

Multi-Factor Authentication(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

Multi-Factor Authentication(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

競合の解決

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

オブジェクトのサイズ

StorageGRID Webscaleは、サイズが最大5TBのオブジェクトをサポートします。

オブジェクトの所有権

StorageGRID Webscaleでは、非所有者アカウントまたは匿名ユーザによって作成されたオブジェクトを含むすべてのオブジェクトが、バケット所有者アカウントによって所有されます。

ストレージ クラスのオプション

x-amz-storage-class要求ヘッダーがサポートされています。指定できる値は次のとおりです。

  • STANDARD:(デフォルト)デュアルコミットの取り込み処理を指定します。
  • REDUCED_REDUNDANCY:シングルコミットの取り込み処理を指定します。
注:REDUCED_REDUNDANCYストレージ クラスは、ILMポリシーなどの他の効率的な方法でデータがレプリケートされている場合に冗長なストレージを制限するためのオプションです。REDUCED_REDUNDANCY値を指定しても、指定されているILMポリシーに影響はなく、StorageGRID Webscaleシステムに格納されるデータの冗長性が低下するわけではありません。
注意:
REDUCED_REDUNDANCYを使用してオブジェクトを取り込むときは、オブジェクト データのコピーが最初に1つしか作成されないことに注意してください。単一のコピーが作成されたストレージ ノードで障害が発生した場合、ILMをまだ満たしていないと、データが失われて回復できなくなります。
PUT Object(続き)

要求ヘッダー

次の要求ヘッダーがサポートされています。

  • x-amz-tagging
  • x-amz-server-side-encryption
  • x-amz-meta-ユーザ定義のメタデータの名前と値のペア

    オブジェクトの作成時間を記録するには、ILMルールの参照時間で[User Defined Creation Time]オプションを使用できるように、x-amz-meta-creation-timeという名前のユーザ定義のヘッダーに値を格納する必要があります。たとえば、「x-amz-meta-creation-time=1443399726」などです。このフィールドの値は、1970年1月1日からの秒数となります。詳細については、『管理者ガイド』の「参照時間」を参照してください。

次の要求ヘッダーは、次の値を指定した場合のみサポートされます。
  • Transfer-Encoding:chunked
  • Content-Encoding:aws-chunked
注:Content-Encodingでその他の値を送信すると、予期しない結果が生じたり、認識不能なコーディング方式やMD5の検証の失敗によるエラーが発生したりする可能性があります。
次の要求ヘッダーはサポートされていません。
  • Expires
  • x-amz-acl

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

  • x-amz-server-side-encryption-customer-algorithm
  • x-amz-server-side-encryption-customer-key
  • x-amz-server-side-encryption-customer-key-MD5
  • x-amz-website-redirect-location

バージョン管理

バケットでバージョン管理が有効になっている場合、格納されるオブジェクトのバージョンごとに一意のversionIdが自動的に生成されます。このversionIdは、x-amz-version-id応答ヘッダーを使用した応答でも返されます。

バージョン管理が一時停止中の場合は、versionIdがnullの状態でオブジェクトのバージョンが格納され、nullのバージョンがすでに存在する場合は上書きされます。

バージョン管理の詳細については、バケットの処理「PUT Bucket versioning」および「GET Bucket versioning」を参照してください。

PUT Object - Copy

競合の解決

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

要求ヘッダー

次の要求ヘッダーがサポートされています。

  • x-amz-meta-ユーザ定義のメタデータの名前と値のペア

    オブジェクトの作成時間を記録するには、ILMルールの参照時間で[User Defined Creation Time]オプションを使用できるように、x-amz-meta-creation-timeという名前のユーザ定義のヘッダーに値を格納する必要があります。たとえば、「x-amz-meta-creation-time=1443399726」などです。このフィールドの値は、1970年1月1日からの秒数となります。詳細については、『管理者ガイド』の「参照時間」を参照してください。

  • x-amz-metadata-directive:デフォルト値はCOPYで、オブジェクトおよび関連するメタデータをコピーできます。

    REPLACEを指定すると、オブジェクトのコピー時に既存のメタデータを上書きしたり、オブジェクトのメタデータを更新したりできます。

  • x-amz-copy-source
  • x-amz-copy-source-if-match
  • x-amz-copy-source-if-none-match
  • x-amz-copy-source-if-unmodified-since
  • x-amz-copy-source-if-modified-since
  • x-amz-server-side-encryption
  • x-amz-storage-class
  • x-amz-tagging-directive:デフォルト値はCOPYで、オブジェクトとすべてのタグをコピーできます。

    REPLACEを指定すると、オブジェクトのコピー時に既存のタグを上書きしたり、タグを更新したりできます。

PUT Object - Copy(続き)

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

  • x-amz-server-side-encryption-customer-algorithm
  • x-amz-server-side-encryption-customer-key
  • x-amz-server-side-encryption-customer-key-MD5
  • x-amz-website-redirect-location
x-amz-copy-sourceヘッダーで指定されたソースのバケットおよびキーがデスティネーションのバケットおよびキーと異なる場合、ソースのオブジェクト データのコピーがデスティネーションに書き込まれます。ソースとデスティネーションが同じ場合は、x-amz-metadata-directiveヘッダーでREPLACEが指定されていれば、オブジェクトのメタデータが要求で指定されたメタデータの値に更新されます。
注:オブジェクトのserver-side-encryptionの値は更新できません。代わりに、コピーを作成し、x-amz-metadata-directive: REPLACEを使用してserver-side-encryptionの新しい値を設定してください。

バージョン管理

ソースのバケットでバージョン管理が有効になっている場合、x-amz-copy-sourceヘッダーを使用してオブジェクトの最新バージョンをコピーできます。オブジェクトの特定のバージョンをコピーするには、コピーするバージョンをversionIdサブリソースを使用して明示的に指定する必要があります。デスティネーションのバケットでバージョン管理が有効になっている場合は、生成されたバージョンがx-amz-version-id応答ヘッダーで返されます。ターゲットのバケットでバージョン管理が一時停止中の場合は、x-amz-version-idの値として「null」が返されます。

PUT Object tagging

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

競合の解決

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

バージョン管理

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