日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

オブジェクトの処理

寄稿者

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

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

  • StorageGRID 整合性制御 オブジェクトに対するすべての操作でサポートされます。ただし、次の操作はサポートされません。

    • GET Object ACL の場合

    • オプション /

    • オブジェクトのリーガルホールドを適用します

    • PUT Object retention のことです

    • オブジェクトコンテンツを選択します

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

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

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

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

操作 実装

オブジェクトを削除します

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

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

  • バージョン管理 *

特定のバージョンを削除するには、バケットの所有者がリクエスタであり、「 versionId 」サブリソースを使用する必要があります。このサブリソースを使用すると、バージョンが完全に削除されます。'versionId' が削除マーカーに対応している場合 ' レスポンス・ヘッダー 'x-amz-delete-marker' は 'true' に設定されます

  • バージョン管理が有効になっているバケットで「 versionID 」サブリソースを指定せずにオブジェクトを削除すると、削除マーカーが生成されます。削除マーカーの 'versionId' は 'x-amz-version-id' 応答ヘッダーを使用して返され 'x-amz-delete-marker' 応答ヘッダーは 'true' に設定されます

  • バージョンが一時停止中のバケットで「 versionID 」サブリソースを使用せずにオブジェクトを削除すると、既存の「 null 」バージョンまたは「 null 」削除マーカーが完全に削除され、新しい「 null 」削除マーカーが生成されます。「 x-amz-delete-marker' response header 」が「 true 」に設定されて返されます。

  • 注 * :特定の場合、 1 つのオブジェクトに複数の削除マーカーが存在することがあります。

複数のオブジェクトを削除します

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

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

オブジェクトのタグ付けを削除します

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

  • バージョン管理 *

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

オブジェクトの取得

GET Object ACL の場合

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

オブジェクトのリーガルホールドを取得します

GET Object retention のことです

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 retention のことです

PUT Object tagging

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

  • オブジェクトタグの上限 *

タグは、新しいオブジェクトをアップロードするときに追加することも、既存のオブジェクトに追加することもできます。StorageGRID と Amazon S3 はどちらも、オブジェクトごとに最大 10 個のタグをサポートします。オブジェクトに関連付けられたタグには、一意のタグキーが必要です。タグキーには Unicode 文字を 128 文字まで、タグ値には Unicode 文字を 256 文字まで使用できます。キーと値では大文字と小文字が区別されます。

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

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

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

  • 衝突の解決 *

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

  • バージョン管理 *

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