StorageGRID の S3 REST API の処理
StorageGRID システム固有の処理が S3 REST API に追加されています。
GET Bucket consistency 要求を実行します
GET Bucket consistency 要求を使用すると、特定のバケットに適用されている整合性レベルを確認できます。
新たに作成したオブジェクトに対しては、リードアフターライト整合性を保証するようにデフォルトの整合性制御が設定されます。
この処理を完了するには、s3:GetBucketConsistency権限またはrootアカウントが必要です。
要求例
GET /bucket?x-ntap-sg-consistency HTTP/1.1
Date: date
Authorization: authorization string
Host: host
応答
応答XMLで、 <Consistency>
は次のいずれかの値を返します。
整合性制御 | 説明 |
---|---|
すべて |
すべてのノードが即座にデータを受け取り、受け取れない場合は要求が失敗します。 |
strong-global |
すべてのサイトのすべてのクライアント要求について、リードアフターライト整合性が保証されます。 |
strong-site |
1 つのサイト内のすべてのクライアント要求について、リードアフターライト整合性が保証されます。 |
read-after-new-write の場合 |
(デフォルト)新規オブジェクトにはリードアフターライト整合性を、オブジェクトの更新には結果整合性を提供します。高可用性が確保され、データ保護が保証されます。Amazon S3の整合性に相当します。
|
available ( HEAD 処理は結果整合性) |
「 read-after-new-write 」整合性レベルと動作は同じですが、 HEAD 処理については結果整合性のみを提供します。ストレージ・ノードが使用できない場合 ' リードアフター・新規ライトよりもヘッド操作の可用性が高くなりますAmazon S3 の整合性と異なるのは HEAD 処理のみです。 |
応答例
HTTP/1.1 200 OK Date: Fri, 18 Sep 2020 01:02:18 GMT Connection: CLOSE Server: StorageGRID/11.5.0 x-amz-request-id: 12345 Content-Length: 127 Content-Type: application/xml <?xml version="1.0" encoding="UTF-8"?> <Consistency xmlns="http://s3.storagegrid.com/doc/2015-02-01/">read-after-new-write</Consistency>
PUT Bucket consistency 要求
PUT Bucket consistency 要求を使用すると、バケットで実行される処理に適用する整合性レベルを指定できます。
新たに作成したオブジェクトに対しては、リードアフターライト整合性を保証するようにデフォルトの整合性制御が設定されます。
この処理を完了するには、s3:PutBucketConsistency権限またはrootアカウントが必要です。
リクエスト
。 x-ntap-sg-consistency
パラメータには次のいずれかの値を指定する必要があります。
整合性制御 | 説明 |
---|---|
すべて |
すべてのノードが即座にデータを受け取り、受け取れない場合は要求が失敗します。 |
strong-global |
すべてのサイトのすべてのクライアント要求について、リードアフターライト整合性が保証されます。 |
strong-site |
1 つのサイト内のすべてのクライアント要求について、リードアフターライト整合性が保証されます。 |
read-after-new-write の場合 |
(デフォルト)新規オブジェクトにはリードアフターライト整合性を、オブジェクトの更新には結果整合性を提供します。高可用性が確保され、データ保護が保証されます。Amazon S3の整合性に相当します。
|
available ( HEAD 処理は結果整合性) |
「 read-after-new-write 」整合性レベルと動作は同じですが、 HEAD 処理については結果整合性のみを提供します。ストレージ・ノードが使用できない場合 ' リードアフター・新規ライトよりもヘッド操作の可用性が高くなりますAmazon S3 の整合性と異なるのは HEAD 処理のみです。 |
-
注: * 一般的には、「 read-after-new-write 」整合性制御値を使用する必要があります。要求が正しく機能しない場合は、可能であればアプリケーションクライアントの動作を変更します。または、 API 要求ごとに整合性制御を指定するようにクライアントを設定します。バケットレベルの整合性制御は最後の手段と考えてください。
要求例
PUT /bucket?x-ntap-sg-consistency=strong-global HTTP/1.1
Date: date
Authorization: authorization string
Host: host
GET Bucket last access time 要求
GET Bucket last access time 要求を使用すると、最終アクセス時間の更新が個々のバケットで有効になっているか無効になっているかを確認できます。
この処理を完了するには、s3:GetBucketLastAccessTime権限またはrootアカウントが必要です。
要求例
GET /bucket?x-ntap-sg-lastaccesstime HTTP/1.1
Date: date
Authorization: authorization string
Host: host
応答例
次の例では、バケットの最終アクセス時間の更新が有効になっています。
HTTP/1.1 200 OK Date: Sat, 29 Nov 2015 01:02:18 GMT Connection: CLOSE Server: StorageGRID/10.3.0 x-amz-request-id: 12345 Content-Length: 127 Content-Type: application/xml <?xml version="1.0" encoding="UTF-8"?> <LastAccessTime xmlns="http://s3.storagegrid.com/doc/2015-02-01/">enabled </LastAccessTime>
PUT Bucket last access time 要求の場合
PUT Bucket last access time 要求を使用すると、最終アクセス時間の更新を個々のバケットで有効または無効にできます。最終アクセス時間の更新を無効にするとパフォーマンスが向上します。バージョン 10.3.0 以降で作成されたバケットに対しては、いずれもデフォルトで無効になります。
この処理を完了するには、バケットのs3:PutBucketLastAccessTime権限またはrootアカウントが必要です。
StorageGRID バージョン 10.3 以降では、すべての新規バケットで最終アクセス時間の更新がデフォルトで無効になります。以前のバージョンの StorageGRID で作成されたバケットにこの新たなデフォルトの動作を適用する場合は、対象となるバケットごとに最終アクセス時間の更新を無効にする必要があります。Tenant Manager またはテナント管理 API の PUT Bucket last access time 要求、 * S3 * > * Buckets * > * Change Last Access Setting * チェックボックスを使用して、最終アクセス時間の更新を有効または無効にできます。 |
バケットで最終アクセス時間の更新が無効になっている場合、バケットの処理の動作は次のようになります。
-
GET Object 、 GET Object ACL 、 GET Object Tagging 、 HEAD Object の各要求では、最終アクセス時間が更新されません。オブジェクトは、情報ライフサイクル管理( ILM )評価のキューに追加されません。
-
メタデータのみを更新する PUT Object - Copy 要求と PUT Object Tagging 要求では、最終アクセス時間も更新されます。オブジェクトは ILM 評価のキューに追加されます。
-
ソースバケットで最終アクセス時間の更新が無効になっている場合は、 PUT Object - Copy 要求でソースバケットの最終アクセス時間が更新されません。コピーされたオブジェクトは、ソースバケットの ILM 評価のキューに追加されません。ただし、デスティネーションについては、 PUT Object - Copy 要求で常に最終アクセス時間が更新されます。オブジェクトのコピーは、 ILM 評価のキューに追加されます。
-
Complete Multipart Upload 要求では、最終アクセス時間が更新されます。完了したオブジェクトは、 ILM 評価のキューに追加されます。
例をリクエストする
この例では、バケットの最終アクセス時間を有効にしています。
PUT /bucket?x-ntap-sg-lastaccesstime=enabled HTTP/1.1
Date: date
Authorization: authorization string
Host: host
この例では、バケットの最終アクセス時間を無効にしています。
PUT /bucket?x-ntap-sg-lastaccesstime=disabled HTTP/1.1
Date: date
Authorization: authorization string
Host: host
DELETE Bucket metadata notification configuration 要求
DELETE Bucket metadata notification configuration 要求では、設定 XML を削除することで、個々のバケットで検索統合サービスを無効化できます。
この処理を完了するには、バケットのs3:DeleteBucketMetadataNotification権限またはrootアカウントが必要です。
要求例
次の例は、バケットの検索統合サービスを無効にする方法を示しています。
DELETE /test1?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host
GET Bucket metadata notification configuration 要求
GET Bucket metadata notification configuration 要求では、個々のバケットで検索統合を設定するために使用する設定 XML を読み出すことができます。
この処理を完了するには、s3:GetBucketMetadataNotification権限またはrootアカウントが必要です。
要求例
次の要求は、というバケットのメタデータ通知設定を読み出します bucket
。
GET /bucket?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host
応答
応答の本文には、バケットのメタデータ通知設定が含まれます。メタデータ通知設定では、バケットでの検索統合の設定を確認できます。つまり、どのオブジェクトにインデックスが付けられ、そのオブジェクトメタデータがどのエンドポイントに送信されるかを確認できます。
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>rule-status</Status> <Prefix>key-prefix</Prefix> <Destination> <Urn>arn:aws:es:_region:account-ID_:domain/_mydomain/myindex/mytype_</Urn> </Destination> </Rule> <Rule> <ID>Rule-2</ID> ... </Rule> ... </MetadataNotificationConfiguration>
各メタデータ通知設定には、 1 つ以上のルールが含まれています。各ルールは、環境 がオブジェクトを指定し、 StorageGRID がオブジェクトメタデータを送信するデスティネーションを指定します。デスティネーションは、 StorageGRID エンドポイントの URN を使用して指定する必要があります。
名前 | 説明 | 必須 |
---|---|---|
MetadataNotificationConfiguration のページです |
メタデータ通知でオブジェクトとデスティネーションの指定に使用されるルール用のコンテナタグ。 1 つ以上の Rule 要素を含みます。 |
はい。 |
ルール |
指定したインデックスにメタデータを追加する必要があるオブジェクトを特定するルール用のコンテナタグ。 プレフィックスが重複しているルールは拒否されます。 MetadataNotificationConfiguration 要素に含まれています。 |
はい。 |
ID |
ルールの一意の識別子。 Rule 要素に含まれています。 |
いいえ |
ステータス |
Status には「 Enabled 」または「 Disabled 」を指定できます。無効になっているルールについては操作が実行されません。 Rule 要素に含まれています。 |
はい。 |
プレフィックス |
プレフィックスと一致するオブジェクトにルールが適用され、そのメタデータが指定したデスティネーションに送信されます。 すべてのオブジェクトを照合するには、空のプレフィックスを指定します。 Rule 要素に含まれています。 |
はい。 |
宛先 |
ルールのデスティネーションのコンテナタグ。 Rule 要素に含まれています。 |
はい。 |
URN |
オブジェクトメタデータが送信されるデスティネーションの URN 。次のプロパティを持つ StorageGRID エンドポイントの URN を指定する必要があります。
エンドポイントは、 Tenant Manager またはテナント管理 API を使用して設定します。形式は次のとおりです。
エンドポイントは設定 XML を送信する前に設定する必要があります。そうしないと、 404 エラーで設定が失敗します。 Urn は Destination 要素に含まれています。 |
はい。 |
応答例
間に含まれるXML <MetadataNotificationConfiguration></MetadataNotificationConfiguration>
タグは、バケットに対して検索統合エンドポイントとの統合がどのように設定されているかを示します。次の例では、という名前のElasticsearchインデックスにオブジェクトメタデータが送信されています current
と入力します 2017
という名前のAWSドメインでホストされている records
。
HTTP/1.1 200 OK Date: Thu, 20 Jul 2017 18:24:05 GMT Connection: KEEP-ALIVE Server: StorageGRID/11.0.0 x-amz-request-id: 3832973499 Content-Length: 264 Content-Type: application/xml <MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>Enabled</Status> <Prefix>2017</Prefix> <Destination> <Urn>arn:aws:es:us-east-1:3333333:domain/records/current/2017</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
PUT Bucket metadata notification configuration 要求
PUT Bucket metadata notification configuration 要求を使用すると、個々のバケットで検索統合サービスを有効化できます。要求の本文に含めるメタデータ通知設定 XML では、デスティネーション検索インデックスにメタデータを送信するオブジェクトを指定します。
この処理を完了するには、バケットのs3:PutBucketMetadataNotification権限またはrootアカウントが必要です。
リクエスト
要求の本文にメタデータ通知設定が含まれている必要があります。各メタデータ通知設定には、 1 つ以上のルールが含まれています。各ルールは、環境 がオブジェクトを指定し、 StorageGRID がオブジェクトメタデータを送信するデスティネーションを指定します。
オブジェクトはオブジェクト名のプレフィックスでフィルタリングできます。たとえば、というプレフィックスのオブジェクトのメタデータを送信できます /images
を1つのデスティネーションに、プレフィックスがのオブジェクトに追加します /videos
別のノードに移動します
プレフィックスが重複している設定は無効で、送信時に拒否されます。たとえば、プレフィックスがのオブジェクト用のルールを1つ含む設定などです test
プレフィックスが付いたオブジェクトの2番目のルールです test2
許可されません。
デスティネーションは、 StorageGRID エンドポイントの URN を使用して指定する必要があります。エンドポイントは、メタデータ通知設定が送信されたときに存在している必要があります。存在していない場合、要求がとして失敗します 400 Bad Request
。エラーメッセージ: Unable to save the metadata notification (search) policy. The specified endpoint URN does not exist: URN.
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>rule-status</Status> <Prefix>key-prefix</Prefix> <Destination> <Urn>arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype</Urn> </Destination> </Rule> <Rule> <ID>Rule-2</ID> ... </Rule> ... </MetadataNotificationConfiguration>
次の表に、メタデータ通知設定 XML の要素を示します。
名前 | 説明 | 必須 |
---|---|---|
MetadataNotificationConfiguration のページです |
メタデータ通知でオブジェクトとデスティネーションの指定に使用されるルール用のコンテナタグ。 1 つ以上の Rule 要素を含みます。 |
はい。 |
ルール |
指定したインデックスにメタデータを追加する必要があるオブジェクトを特定するルール用のコンテナタグ。 プレフィックスが重複しているルールは拒否されます。 MetadataNotificationConfiguration 要素に含まれています。 |
はい。 |
ID |
ルールの一意の識別子。 Rule 要素に含まれています。 |
いいえ |
ステータス |
Status には「 Enabled 」または「 Disabled 」を指定できます。無効になっているルールについては操作が実行されません。 Rule 要素に含まれています。 |
はい。 |
プレフィックス |
プレフィックスと一致するオブジェクトにルールが適用され、そのメタデータが指定したデスティネーションに送信されます。 すべてのオブジェクトを照合するには、空のプレフィックスを指定します。 Rule 要素に含まれています。 |
はい。 |
宛先 |
ルールのデスティネーションのコンテナタグ。 Rule 要素に含まれています。 |
はい。 |
URN |
オブジェクトメタデータが送信されるデスティネーションの URN 。次のプロパティを持つ StorageGRID エンドポイントの URN を指定する必要があります。
エンドポイントは、 Tenant Manager またはテナント管理 API を使用して設定します。形式は次のとおりです。
エンドポイントは設定 XML を送信する前に設定する必要があります。そうしないと、 404 エラーで設定が失敗します。 Urn は Destination 要素に含まれています。 |
はい。 |
例をリクエストする
次の例は、バケットの検索統合を有効にする方法を示しています。この例では、すべてのオブジェクトのオブジェクトメタデータが同じデスティネーションに送信されます。
PUT /test1?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host
<MetadataNotificationConfiguration>
<Rule>
<ID>Rule-1</ID>
<Status>Enabled</Status>
<Prefix></Prefix>
<Destination>
<Urn>urn:sgws:es:::sgws-notifications/test1/all</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
この例では、プレフィックスに一致するオブジェクトのオブジェクトメタデータを指定します /images
が1つのデスティネーションに送信され、プレフィックスに一致するオブジェクトのオブジェクトメタデータが送信されます /videos
2番目の送信先に送信されます。
PUT /graphics?x-ntap-sg-metadata-notification HTTP/1.1
Date: date
Authorization: authorization string
Host: host
<MetadataNotificationConfiguration>
<Rule>
<ID>Images-rule</ID>
<Status>Enabled</Status>
<Prefix>/images</Prefix>
<Destination>
<Urn>arn:aws:es:us-east-1:3333333:domain/es-domain/graphics/imagetype</Urn>
</Destination>
</Rule>
<Rule>
<ID>Videos-rule</ID>
<Status>Enabled</Status>
<Prefix>/videos</Prefix>
<Destination>
<Urn>arn:aws:es:us-west-1:22222222:domain/es-domain/graphics/videotype</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
検索統合サービスで生成される JSON
バケットで検索統合サービスを有効にすると、オブジェクトのメタデータまたはタグの追加、更新、削除が行われるたびに、 JSON ドキュメントが生成されてデスティネーションエンドポイントに送信されます。
次の例は、キーを含むオブジェクトの場合に生成されるJSONを示しています SGWS/Tagging.txt
は、という名前のバケットに作成されます test
。。 test
バケットはバージョン管理されていないため、を使用します versionId
タグが空です。
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1" "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
メタデータ通知に含まれているオブジェクトメタデータ
次の表に、検索統合が有効になっている場合にデスティネーションエンドポイントに送信される JSON ドキュメント内のすべてのフィールドを示します。
ドキュメント名には、バケット名、オブジェクト名、バージョン ID (存在する場合)が含まれます。
を入力します | 項目名 | 説明 |
---|---|---|
バケットとオブジェクトの情報 |
バケット |
バケットの名前 |
バケットとオブジェクトの情報 |
キーを押します |
オブジェクトキーの名前 |
バケットとオブジェクトの情報 |
versionId |
バージョン管理されたバケット内のオブジェクトのオブジェクトバージョン |
バケットとオブジェクトの情報 |
リージョン |
たとえば、バケットのリージョンのように指定します |
システムメタデータ |
サイズ |
HTTP クライアントから認識できるオブジェクトのサイズ(バイト) |
システムメタデータ |
MD5 |
オブジェクトのハッシュ |
ユーザメタデータ |
メタデータ
|
オブジェクトのすべてのユーザメタデータをキーと値のペアとして格納 |
タグ |
タグ
|
オブジェクトに対して定義されたすべてのオブジェクトタグをキーと値のペアとして使用します |
-
注: StorageGRID は、タグとユーザメタデータに対して、文字列または S3 イベント通知として Elasticsearch に日付と番号を渡します。これらの文字列を日付または数値として解釈するように Elasticsearch を設定するには、動的フィールドマッピングおよびマッピング日付形式に関する Elasticsearch の手順に従ってください。検索統合サービスを設定する前に、インデックスの動的フィールドマッピングを有効にする必要があります。ドキュメントにインデックスを付けた後は、インデックス内のドキュメントのフィールドタイプを編集できません。
GET Storage Usage 要求の略
GET Storage Usage 要求を使用すると、アカウントで使用しているストレージの総容量とアカウントに関連付けられているバケットごとの使用容量を確認できます。
アカウントとそのバケットで使用されているストレージの量は、でGET Service要求を変更して取得できます x-ntap-sg-usage
クエリパラメータ。バケットによるストレージの使用量は、システムで処理される PUT 要求や DELETE 要求とは別に追跡されます。特にシステムの負荷が高い場合などは、使用量の値が要求の処理に基づく想定値と同じになるまでに少し時間がかかることがあります。
デフォルトでは、 StorageGRID は strong-global 整合性を使用して、使用状況の情報を取得します。strong-global 整合性が保証されていない場合、 StorageGRID は、強いサイトで整合性のある使用状況情報を取得しようとします。
この処理を完了するには、s3:ListAllMyBuckets権限またはrootアカウントが必要です。
要求例
GET /?x-ntap-sg-usage HTTP/1.1
Date: date
Authorization: authorization string
Host: host
応答例
次の例は、 2 つのバケットに 4 つのオブジェクトと 12 バイトのデータが格納されたアカウントです。各バケットには、 2 つのオブジェクトと 6 バイトのデータが格納されています。
HTTP/1.1 200 OK Date: Sat, 29 Nov 2015 00:49:05 GMT Connection: KEEP-ALIVE Server: StorageGRID/10.2.0 x-amz-request-id: 727237123 Content-Length: 427 Content-Type: application/xml <?xml version="1.0" encoding="UTF-8"?> <UsageResult xmlns="http://s3.storagegrid.com/doc/2015-02-01"> <CalculationTime>2014-11-19T05:30:11.000000Z</CalculationTime> <ObjectCount>4</ObjectCount> <DataBytes>12</DataBytes> <Buckets> <Bucket> <Name>bucket1</Name> <ObjectCount>2</ObjectCount> <DataBytes>6</DataBytes> </Bucket> <Bucket> <Name>bucket2</Name> <ObjectCount>2</ObjectCount> <DataBytes>6</DataBytes> </Bucket> </Buckets> </UsageResult>
バージョン管理
には、格納されているすべてのオブジェクトバージョンが関連します ObjectCount
および DataBytes
応答の値。削除マーカーはに追加されません ObjectCount
合計。
従来の準拠のためのバケット要求が廃止されました
従来の準拠機能で作成されたバケットの管理には、 StorageGRID S3 REST API の使用が必要になる場合があります。
コンプライアンス機能は廃止されました
以前のバージョンの StorageGRID で提供されていた StorageGRID 準拠機能は廃止され、 S3 オブジェクトロックに置き換えられました。
グローバル準拠設定を有効にしている場合は、StorageGRID 11.5にアップグレードすると、グローバルなS3オブジェクトロック設定が自動的に有効になります。準拠を有効にした新しいバケットは作成できなくなりました。ただし、必要に応じて、 StorageGRID S3 REST API を使用して、従来の準拠バケットを管理できます。
廃止:準拠のための PUT Bucket 要求の変更
SGCompliance XML 要素は廃止されました。これまでは、この StorageGRID カスタム要素を PUT Bucket 要求のオプションの XML 要求の本文に含めて準拠バケットを作成できました。
以前のバージョンの StorageGRID で提供されていた StorageGRID 準拠機能は廃止され、 S3 オブジェクトロックに置き換えられました。 |
準拠を有効にした新しいバケットを作成することはできなくなりました。準拠バケットを新しく作成するために PUT Bucket 要求の変更を使用しようとすると、次のエラーメッセージが返されます。
The Compliance feature is deprecated. Contact your StorageGRID administrator if you need to create new Compliant buckets.
廃止予定: GET Bucket compliance 要求
GET Bucket compliance 要求は廃止されました。ただし、既存のレガシー準拠バケットに対して現在有効な準拠設定を引き続き確認することができます。
以前のバージョンの StorageGRID で提供されていた StorageGRID 準拠機能は廃止され、 S3 オブジェクトロックに置き換えられました。 |
この処理を完了するには、s3:GetBucketCompliance権限またはrootアカウントが必要です。
要求例
次の要求例では、という名前のバケットの準拠設定を確認できます mybucket
。
GET /mybucket/?x-ntap-sg-compliance HTTP/1.1
Date: date
Authorization: authorization string
Host: host
応答例
応答XMLで、 <SGCompliance>
バケットで有効な準拠設定が表示されます。次の応答例では、バケットの準拠設定が示されており、各オブジェクトはグリッドに取り込まれてから 1 年間( 525 、 600 分)保持されます。このバケットには現在リーガルホールドはありません。各オブジェクトは 1 年後に自動的に削除されます。
HTTP/1.1 200 OK
Date: date
Connection: connection
Server: StorageGRID/11.1.0
x-amz-request-id: request ID
Content-Length: length
Content-Type: application/xml
<SGCompliance>
<RetentionPeriodMinutes>525600</RetentionPeriodMinutes>
<LegalHold>false</LegalHold>
<AutoDelete>true</AutoDelete>
</SGCompliance>
名前 | 説明 |
---|---|
RetentionPeriodMinutes です |
このバケットに追加されたオブジェクトの保持期間を分で指定します。保持期間は、オブジェクトがグリッドに取り込まれたときからの期間です。 |
LegalHold のようになります |
|
自動削除 |
|
エラー応答
バケットが準拠バケットとして作成されていない場合、応答のHTTPステータスコードはになります 404 Not Found`を返します `XNoSuchBucketCompliance
。
廃止予定: PUT Bucket compliance 要求
PUT Bucket compliance 要求は廃止されました。ただし、この要求を引き続き使用して、既存のレガシー準拠バケットの準拠設定を変更できます。たとえば、既存のバケットをリーガルホールドの対象にしたり、バケットの保持期間を長くしたりできます。
以前のバージョンの StorageGRID で提供されていた StorageGRID 準拠機能は廃止され、 S3 オブジェクトロックに置き換えられました。 |
この処理を完了するには、s3:PutBucketCompliance権限またはrootアカウントが必要です。
PUT Bucket compliance 要求を発行する際は、準拠設定のすべてのフィールドに値を指定する必要があります。
要求例
次の要求例では、という名前のバケットの準拠設定を変更します mybucket
。この例では、のオブジェクトが表示されています mybucket
オブジェクトがグリッドに取り込まれてから1年間ではなく2年間(1、051、200分)保持されます。このバケットにリーガルホールドはありません。各オブジェクトは 2 年後に自動的に削除されます。
PUT /mybucket/?x-ntap-sg-compliance HTTP/1.1
Date: date
Authorization: authorization name
Host: host
Content-Length: 152
<SGCompliance>
<RetentionPeriodMinutes>1051200</RetentionPeriodMinutes>
<LegalHold>false</LegalHold>
<AutoDelete>true</AutoDelete>
</SGCompliance>
名前 | 説明 |
---|---|
RetentionPeriodMinutes です |
このバケットに追加されたオブジェクトの保持期間を分で指定します。保持期間は、オブジェクトがグリッドに取り込まれたときからの期間です。
|
LegalHold のようになります |
|
自動削除 |
|
準拠設定の整合性レベル
PUT Bucket compliance 要求によって S3 バケットの準拠設定を更新すると、 StorageGRID は、グリッド全体のバケットのメタデータを更新しようとします。デフォルトでは、 StorageGRID は * strong-global * 整合性レベルを使用し、バケットのメタデータを含むすべてのデータセンターサイトおよびストレージノードで、変更された準拠設定のリードアフターライト整合性を保証します。
データセンターサイトまたはサイトの複数のストレージノードが利用できないために、StorageGRID が「strong-global」の整合性レベルを保証できない場合は、応答のHTTPステータスコードがになります 503 Service Unavailable.
この応答を受け取った場合は、必要なストレージサービスをできるだけ早く利用可能にするために、グリッド管理者に問い合わせる必要があります。グリッド管理者が各サイトで十分な数のストレージノードを利用可能にできない場合は、テクニカルサポートから、 * strong-site * 整合性レベルを強制的に適用することで、失敗した要求を再試行するよう指示される場合があります。
テクニカルサポートから指示があった場合や、このレベルを使用した場合の影響を理解している場合を除き、 PUT Bucket compliance で * strong-site * 整合性レベルを強制的に適用することは避けてください。 |
整合性レベルを * strong-site * 」に下げると、 StorageGRID は、サイト内のクライアント要求に対してのみ、更新された準拠設定のリードアフターライト整合性を保証します。そのため、すべてのサイトおよびストレージノードが利用可能になるまでの間、 StorageGRID システムにはこのバケットに対して複数の異なる設定が一時的に存在することになる場合があります。整合性のない設定を使用すると、予期せぬ望ましくない動作が生じる可能性がありますたとえば、あるバケットをリーガルホールドの対象にして、低い整合性レベルを強制的に適用すると、一部のデータセンターサイトでバケットの以前の準拠設定(つまり、リーガルホールドの対象外の状態)が引き続き適用される場合があります。したがって、リーガルホールドの対象と思われるオブジェクトは、保持期間が経過すると、ユーザによって削除される場合と、 AutoDelete によって削除される場合があります。
strong-site *整合性レベルを強制的に適用するには、PUT Bucket compliance要求を再発行し、を含めてください Consistency-Control
HTTP要求ヘッダー。
PUT /mybucket/?x-ntap-sg-compliance HTTP/1.1 Consistency-Control: strong-site
エラー応答
-
バケットが準拠バケットとして作成されていない場合、応答のHTTPステータスコードはになります
404 Not Found
。 -
状況
RetentionPeriodMinutes
要求がバケットの現在の保持期間よりも短い場合、HTTPステータスコードはになります400 Bad Request
。