オブジェクトの処理
このセクションでは、 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' に設定されます
|
複数のオブジェクトを削除します |
多要素認証( 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 」に設定されます。 |