このセクションでは、StorageGRIDシステムでオブジェクトのS3 REST API処理を実装する方法について説明します。
オブジェクトの処理では、GET Object ACLとOPTIONS /を除くすべての処理でStorageGRIDの整合性制御がサポートされます。
競合するクライアント要求(2つのクライアントが同じキーに書き込む場合など)は、「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイミングではなく、StorageGRIDシステムが特定の要求を完了したタイミングで行われます。
StorageGRIDバケット内のオブジェクトは、匿名ユーザまたは別のアカウントが作成したオブジェクトも含めて、すべてバケット所有者によって所有されます。
Swiftを使用してStorageGRIDシステムに取り込まれたデータ オブジェクトにS3を使用してアクセスすることはできません。
処理 | 実装 |
---|---|
DELETE Object | 多要素認証(MFA)と応答ヘッダーx-amz-mfaはサポートされていません。 バージョン管理 特定のバージョンを削除するには、バケットの所有者がversionIdサブリソースを使用して要求を行う必要があります。このサブリソースを使用すると、バージョンが完全に削除されます。versionIdが削除マーカーに対応している場合は、応答ヘッダーx-amz-delete-markerがtrueに設定されて返されます。
|
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 ACL | アカウントに必要なアクセス クレデンシャルがある場合、オブジェクトの所有者にオブジェクトに対するフル アクセスがあることを示す応答が返され、所有者のID、表示名、および権限が表示されます。 |
GET Object tagging | taggingサブリソースを使用して、オブジェクトのすべてのタグが返されます。Amazon S3 REST APIのすべての動作が実装されています。 バージョン管理 要求にversionIdクエリ パラメータが指定されていない場合は、バージョン管理されたバケット内のオブジェクトの最新バージョンからすべてのタグが返されます。オブジェクトの最新バージョンが削除マーカーの場合は、「MethodNotAllowed」ステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。 |
HEAD Object | |
POST Object restore | |
PUT Object | |
PUT Object - Copy | |
PUT Object tagging | taggingサブリソースを使用して、既存のオブジェクトに一連のタグが追加されます。Amazon S3 REST APIのすべての動作が実装されています。 競合の解決 競合するクライアント要求(2つのクライアントが同じキーに書き込む場合など)は、「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイミングではなく、StorageGRIDシステムが特定の要求を完了したタイミングで行われます。 バージョン管理 要求にversionIdクエリ パラメータが指定されていない場合は、バージョン管理されたバケット内のオブジェクトの最新バージョンにタグが追加されます。オブジェクトの最新バージョンが削除マーカーの場合は、「MethodNotAllowed」ステータスが返され、x-amz-delete-marker応答ヘッダーがtrueに設定されます。 |