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 * : 1 つのサイトにおけるすべてのクライアント要求について、リードアフターライト整合性が保証されます。

  • 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 コンテナ整合性要求では、コンテナに対して実行される処理に適用する整合性レベルを指定できます。デフォルトでは ' 新しいコンテナは ' リードアフター・ア・ニュー・ライトの整合性レベルを使用して作成されます

リクエスト

要求の HTTP ヘッダー 説明

X-Auth-Tokenの略

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

x-ntap-sg-consistencyの略

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

  • all * :すべてのノードが即座にデータを受け取り、受け取れない場合は要求が失敗します。

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

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

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

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

Host

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

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

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

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

整合性制御と ILM ルールの連動の例

次の ILM ルールと次の整合性レベル設定の 2 サイトグリッドがあるとします。

  • * 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