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

StorageGRID の Swift REST API 処理

共同作成者

StorageGRID システム固有の処理が Swift REST API に追加されています。

GET(コンテナ整合性)要求

"整合性の値" オブジェクトの可用性と、異なるストレージノードおよびサイト間でのオブジェクトの整合性のバランスを確保します。GET(コンテナ整合性)要求を使用すると、特定のコンテナに適用されている整合性を確認できます。

リクエスト

要求の HTTP ヘッダー 説明

X-Auth-Tokenの略

要求に使用するアカウントの Swift 認証トークンを指定します。

x-ntap-sg-consistencyの略

要求のタイプを指定します true = GETコンテナconsistency、および false =コンテナを取得します。

ホスト

要求の転送先のホスト名。

要求例

GET /v1/28544923908243208806/Swift container
X-Auth-Token: SGRD_3a877009a2d24cb1801587bfa9050f29
x-ntap-sg-consistency: true
Host: test.com

応答

応答の HTTP ヘッダー 説明

日付

応答の日時。

接続

サーバへの接続が開いているかどうか。

X-Trans-ID

要求の一意のトランザクション ID 。

Content-Lengthの略

応答の本文の長さ。

x-ntap-sg-consistencyの略

コンテナに適用されている整合性。次の値がサポートされています。

  • all *:すべてのノードがすぐにデータを受信しないと、要求が失敗します。

  • strong-global *:すべてのサイトのすべてのクライアント要求について、リードアフターライト整合性が保証されます。

*strong-site *:サイト内のすべてのクライアント要求に対してリードアフターライト整合性が保証されます。

  • Read-after-new-write *:(デフォルト)新規オブジェクトにはリードアフターライト整合性を提供し、オブジェクトの更新には結果整合性を提供します。高可用性が確保され、データ保護が保証されます。ほとんどの場合に推奨されます。

  • available *:新しいオブジェクトとオブジェクトの更新の両方について、結果整合性を提供します。S3バケットの場合は、必要な場合にのみ使用します(読み取り頻度の低いログ値を含むバケットや、存在しないキーに対するHEAD処理やGET処理など)。S3 FabricPool バケットではサポートされません。

応答例

HTTP/1.1 204 No Content
Date: Sat, 29 Nov 2015 01:02:18 GMT
Connection: CLOSE
X-Trans-Id: 1936575373
Content-Length: 0
x-ntap-sg-consistency: strong-site

PUT コンテナセイコウセイヨウキユウ

PUT(コンテナ整合性)要求では、コンテナで実行される処理に適用する整合性を指定できます。デフォルトでは、新しいコンテナは「Read-after-new-write」整合性を使用して作成されます。

リクエスト

要求の HTTP ヘッダー 説明

X-Auth-Tokenの略

要求に使用するアカウントの Swift 認証トークンです。

x-ntap-sg-consistencyの略

コンテナに対する処理に適用される整合性。次の値がサポートされています。

  • all *:すべてのノードがすぐにデータを受信しないと、要求が失敗します。

  • strong-global *:すべてのサイトのすべてのクライアント要求について、リードアフターライト整合性が保証されます。

*strong-site *:サイト内のすべてのクライアント要求に対してリードアフターライト整合性が保証されます。

  • Read-after-new-write *:(デフォルト)新規オブジェクトにはリードアフターライト整合性を提供し、オブジェクトの更新には結果整合性を提供します。高可用性が確保され、データ保護が保証されます。ほとんどの場合に推奨されます。

  • available *:新しいオブジェクトとオブジェクトの更新の両方について、結果整合性を提供します。S3バケットの場合は、必要な場合にのみ使用します(読み取り頻度の低いログ値を含むバケットや、存在しないキーに対するHEAD処理やGET処理など)。S3 FabricPool バケットではサポートされません。

Host

要求の転送先のホスト名。

整合性とILMルールの相互作用によるデータ保護への影響

あなたの選択の両方 "整合性の値" オブジェクトの保護方法にはILMルールが影響します。これらの設定は対話的に操作できます。

たとえば、オブジェクトの格納時に使用される整合性はオブジェクトメタデータの初期配置に影響し、一方で "取り込み動作" ILMルールに対して選択すると、オブジェクトコピーの初期配置に影響します。StorageGRIDでは、クライアント要求に対応するためにオブジェクトのメタデータとそのデータの両方にアクセスする必要があるため、整合性と取り込み動作で同じ保護レベルを選択すると、初期データ保護が向上し、システム応答の予測性が向上します。

整合性ルールとILMルールの相互作用の例

2サイトのグリッドで次のILMルールと整合性が設定されているとします。

  • * ILM ルール * :ローカルサイトとリモートサイトに 1 つずつ、 2 つのオブジェクトコピーを作成します。Strict 取り込み動作が選択されています。

  • **:「strong-global」(オブジェクトメタデータがすべてのサイトに即座に分散される)

クライアントがオブジェクトをグリッドに格納すると、 StorageGRID は両方のオブジェクトをコピーし、両方のサイトにメタデータを分散してからクライアントに成功を返します。

オブジェクトは、取り込みが成功したことを示すメッセージが表示された時点で損失から完全に保護されます。たとえば、取り込み直後にローカルサイトが失われた場合、オブジェクトデータとオブジェクトメタデータの両方のコピーがリモートサイトに残っています。オブジェクトを完全に読み出し可能にしている。

同じILMルールと「strong-site」整合性を使用した場合、オブジェクトデータがリモートサイトにレプリケートされたあと、オブジェクトメタデータが分散される前にクライアントに成功メッセージが返されることがあります。この場合、オブジェクトメタデータの保護レベルがオブジェクトデータの保護レベルと一致しません。取り込み直後にローカルサイトが失われると、オブジェクトメタデータが失われます。オブジェクトを取得できません。

整合性ルールとILMルールの関係は複雑になる可能性があります。サポートが必要な場合は、ネットアップにお問い合わせください。

要求例

PUT /v1/28544923908243208806/_Swift container_
X-Auth-Token: SGRD_3a877009a2d24cb1801587bfa9050f29
x-ntap-sg-consistency: strong-site
Host: test.com

応答

応答の HTTP ヘッダー 説明

Date

応答の日時。

Connection

サーバへの接続が開いているかどうか。

X-Trans-Id

要求の一意のトランザクション ID 。

Content-Length

応答の本文の長さ。

応答例

HTTP/1.1 204 No Content
Date: Sat, 29 Nov 2015 01:02:18 GMT
Connection: CLOSE
X-Trans-Id: 1936575373
Content-Length: 0