第2章 Data Grid REST API との連携
Data Grid REST API は、Data Grid のデプロイメントを監視、維持、管理し、データへのアクセスを提供します。
デフォルトでは、Data Grid REST API の操作は、成功すると 200 (OK) を返します。ただし、一部の操作が正常に処理されると、 200 ではなく 204 や 202 などの HTTP ステータスコードが返されます。
2.1. キャッシュの作成と管理 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid のキャッシュを作成・管理し、データに対する操作を行うことができます。
2.1.1. キャッシュの作成 リンクのコピーリンクがクリップボードにコピーされました!
XML または JSON 設定をペイロードに含む POST リクエストで、Data Grid クラスター全体に名前付きキャッシュを作成します。
POST /rest/v2/caches/{cacheName}
POST /rest/v2/caches/{cacheName}
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| 必須 |
Data Grid 設定のペイロードの MediaType を設定します ( |
|
| オプション | AdminFlags を設定するために使用されます |
2.1.1.1. キャッシュ設定 リンクのコピーリンクがクリップボードにコピーされました!
XML、JSON、および YAML 形式で宣言型キャッシュ設定を作成できます。
すべての宣言型キャッシュは Data Grid スキーマに準拠する必要があります。JSON 形式の設定は XML 設定の構造に従う必要があります。要素がオブジェクトに対応し、属性はフィールドに対応します。
Data Grid では、キャッシュ名またはキャッシュテンプレート名の文字数を最大 255 文字に制限しています。この文字制限を超えると、Data Grid は例外を出力します。簡潔なキャッシュ名とキャッシュテンプレート名を記述します。
ファイルシステムによってファイル名の長さに制限が設定される場合があるため、キャッシュの名前がこの制限を超えないようにしてください。キャッシュ名がファイルシステムの命名制限を超えると、そのキャッシュに対する一般的な操作または初期化操作が失敗する可能性があります。簡潔なファイル名を書きます。
分散キャッシュ
XML
JSON
YAML
レプリケートされたキャッシュ
XML
JSON
YAML
複数のキャッシュ
XML
JSON
YAML
2.1.2. キャッシュの変更 リンクのコピーリンクがクリップボードにコピーされました!
ペイロードに XML または JSON 設定を含む PUT リクエストを使用して、Data Grid クラスター全体のキャッシュ設定の属性を変更します。
変更が既存の設定と互換性がある場合にのみ、キャッシュを変更できます。
たとえば、レプリケートされたキャッシュ設定を使用して分散キャッシュを変更することはできません。同様に、特定の属性を使用してキャッシュ設定を作成する場合、代わりに別の属性を使用するように設定を変更することはできません。たとえば、max-count 属性の値を指定してキャッシュ設定を変更しようとすると、max-size がすでに設定されている場合、無効な設定になります。
PUT /rest/v2/caches/{cacheName}
PUT /rest/v2/caches/{cacheName}
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| 必須 |
Data Grid 設定のペイロードの MediaType を設定します ( |
|
| オプション | AdminFlags を設定するために使用されます |
2.1.3. キャッシュの検証 リンクのコピーリンクがクリップボードにコピーされました!
HEAD リクエストで Data Grid クラスターでキャッシュが利用可能かどうかを確認します。
HEAD /rest/v2/caches/{cacheName}
HEAD /rest/v2/caches/{cacheName}
2.1.4. テンプレートを使用したキャッシュの作成 リンクのコピーリンクがクリップボードにコピーされました!
POST リクエストと ?template= パラメーターを使用して、Data Grid テンプレートからキャッシュを作成します。
POST /rest/v2/caches/{cacheName}?template={templateName}
POST /rest/v2/caches/{cacheName}?template={templateName}
使用可能なキャッシュテンプレートをリスト表示する を参照してください。
2.1.5. キャッシュ設定の取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストで Data Grid のキャッシュ設定を取得します。
GET /rest/v2/caches/{name}?action=config
GET /rest/v2/caches/{name}?action=config
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| オプション |
コンテンツを返すために必要な形式を設定します。対応フォーマットは、 |
2.1.6. XML、JSON、YAML 間のキャッシュ設定の変換 リンクのコピーリンクがクリップボードにコピーされました!
有効な設定と ?action=convert パラメーターを使用して POST リクエストを呼び出します。Data Grid は、Accept ヘッダで指定されたタイプの設定の同等の表現で応答します。
POST /rest/v2/caches?action=convert
POST /rest/v2/caches?action=convert
キャッシュ設定を変換するには、Content-Type ヘッダーで設定の入力形式を指定し、Accept ヘッダーで目的の出力形式を指定する必要があります。たとえば、次のコマンドは、レプリケートされたキャッシュ設定を XML から YAML に変換します。
curl localhost:11222/rest/v2/caches?action=convert \ --digest -u username:password \ -X POST -H "Accept: application/yaml" -H "Content-Type: application/xml" \ -d '<replicated-cache mode="SYNC" statistics="false"><encoding media-type="application/x-protostream"/><expiration lifespan="300000" /><memory max-size="400MB" when-full="REMOVE"/></replicated-cache>'
curl localhost:11222/rest/v2/caches?action=convert \
--digest -u username:password \
-X POST -H "Accept: application/yaml" -H "Content-Type: application/xml" \
-d '<replicated-cache mode="SYNC" statistics="false"><encoding media-type="application/x-protostream"/><expiration lifespan="300000" /><memory max-size="400MB" when-full="REMOVE"/></replicated-cache>'
2.1.7. キャッシュ設定の比較 リンクのコピーリンクがクリップボードにコピーされました!
2 つのキャッシュ設定と ?action=compare パラメーターを含む multipart/form-data 本体で POST 要求を呼び出します。
POST /rest/v2/caches?action=compare
POST /rest/v2/caches?action=compare
比較で変更可能な属性を無視するには、ignoreMutable=true パラメーターを追加します。
Data Grid は、設定が等しい場合は 204 (No Content) で応答し、設定が異なる場合は 409 (Conflict) で応答します。
2.1.8. すべてのキャッシュの詳細を取得する リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストを呼び出し、Data Grid キャッシュのすべての詳細を取得します。
GET /rest/v2/caches/{name}?action=stats
GET /rest/v2/caches/{name}?action=stats
Data Grid は、以下のような JSON レスポンスを提供します。
-
statsキャッシュの現在の状態を表示します。 -
sizeキャッシュの推定サイズ。 -
configurationキャッシュ設定。 -
rehash_in_progressリハッシュが進行中の場合は true。 -
indexing_in_progressインデックス作成中の場合は true。 -
rebalancing_enabledは、リバランシングが有効な場合は true。このプロパティーの取得は、サーバーで失敗する可能性があります。その場合、プロパティーはペイロードに存在しません。 -
bounded有効期限が有効になっている。 -
indexedキャッシュがインデックス化されている場合は true。 -
persistentキャッシュが永続化されている場合は true。 -
transactionalキャッシュがトランザクショナルである場合は true。 -
securedキャッシュが保護されている場合は true。 -
has_remote_backupキャッシュがリモートバックアップを持っている場合は true。 -
key_storageキャッシュキーのメディアタイプです。 -
value_storageキャッシュの値のメディアタイプです。
key_storage と value_storage は、キャッシュのエンコーディング設定と一致します。エンコーディングなしのサーバーキャッシュの場合、Data Grid はキャッシュがインデックス化されている場合は application/x-protostream を、それ以外の場合は application/unknown を想定しています。
2.1.9. キャッシュのデータ分散の取得 リンクのコピーリンクがクリップボードにコピーされました!
GET 要求を呼び出して、Data Grid キャッシュのデータ配布に関するすべての詳細を取得します。
GET /rest/v2/caches/{name}?action=distribution
GET /rest/v2/caches/{name}?action=distribution
Data Grid は、以下のような JSON レスポンスを提供します。
リスト内の各要素はノードを表します。プロパティーは次のとおりです。
-
node_nameはノード名です -
node_addressesは、すべてのノードの物理アドレスのリストです。 -
memory_entriesノードがキャッシュに属するメモリーに保持するエントリーの数。 -
total_entriesノードがキャッシュに属するメモリーとディスクに持つエントリーの数。 -
memory_usedは、エビクションアルゴリズムがキャッシュの占有量を推定するバイト単位の値です。エヴィクションが有効になっていない場合は -1 を返します。
2.1.10. すべての可変キャッシュ設定属性の取得 リンクのコピーリンクがクリップボードにコピーされました!
GET 要求を呼び出して、Data Grid キャッシュのすべての可変キャッシュ設定属性を取得します。
GET /rest/v2/caches/{name}?action=get-mutable-attributes
GET /rest/v2/caches/{name}?action=get-mutable-attributes
Data Grid は、以下のような JSON レスポンスを提供します。
値や型の情報を得るには、full パラメーターを追加します。
GET /rest/v2/caches/mycache?action=get-mutable-attributes&full=true
GET /rest/v2/caches/mycache?action=get-mutable-attributes&full=true
Data Grid は、以下のような JSON レスポンスを提供します。
enum 型の属性の場合、追加の universe プロパティーには、可能な値のセットが含まれます。
2.1.11. キャッシュ設定属性の更新 リンクのコピーリンクがクリップボードにコピーされました!
変更可能なキャッシュ設定属性を変更するために、POST リクエストを呼び出します。
POST /rest/v2/caches/{name}?action=set-mutable-attributes&attribute-name={attributeName}&attribute-value={attributeValue}
POST /rest/v2/caches/{name}?action=set-mutable-attributes&attribute-name={attributeName}&attribute-value={attributeValue}
2.1.12. エントリーの追加 リンクのコピーリンクがクリップボードにコピーされました!
POST リクエストでキャッシュにエントリーを追加します。
POST /rest/v2/caches/{cacheName}/{cacheKey}
POST /rest/v2/caches/{cacheName}/{cacheKey}
前述の要求は cacheKey キーで cacheName を指定のキャッシュに、ペイロード、またはリクエストボディを配置します。リクエストは、既存のデータを置き換え、適用可能であれば、Time-To-Live と Last-Modified の値を更新します。
エントリーが正常に作成されると、サービスは 204 (No Content) を返します。
指定されたキーにすでに値が存在する場合、POST リクエストは 409 (Conflict) を返し、値の変更は行いません。値を更新するには、PUT リクエストを使用する必要があります。エントリーの入れ替え をご覧ください。
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| オプション | リクエストのキーのコンテンツタイプを設定します。詳細は、Key-Content-Type を参照してください。 |
|
| オプション | キーの値の MediaType を設定します。 |
|
| オプション | エントリーが自動的に削除されるまでの秒数を設定します。このパラメーターを設定しない場合、DataGrid は設定のデフォルト値を使用します。負の値を設定すると、エントリーが削除されることはありません。 |
|
| オプション | エントリーがアイドル状態になることができる秒数を設定します。最大アイドル時間が経過してもエントリーの読み取りまたは書き込み操作が発生しない場合、エントリーは自動的に削除されます。このパラメーターを設定しない場合、DataGrid は設定のデフォルト値を使用します。負の値を設定すると、エントリーが削除されることはありません。 |
|
| オプション | エントリーの追加に使用されるフラグ。詳細については、フラグ を参照してください。 |
flags ヘッダーは、キャッシュでのデータ操作を含む他のすべての操作にも適用されます。
timeToLiveSeconds と maxIdleTimeSeconds の両方の値が 0 の場合、Data Grid は設定のデフォルトの lifespan と maxIdle の値を使用します。
only maxIdleTimeSeconds のみ値が 0 の場合、Data Grid が使用します。
-
コンフィグレーションのデフォルトの
maxIdle値を使用します。 -
リクエストパラメーターとして渡した
timeToLiveSecondsの値、または値を渡さなかった場合は-1の値です。
timeToLiveSeconds の値だけが 0 の場合、Data Grid は
-
設定のデフォルトの
lifespan値を使用。 -
リクエストパラメーターとして渡された
maxIdleの値、または値を渡さない場合は-1の値を使用。
2.1.13. エントリーの置き換え リンクのコピーリンクがクリップボードにコピーされました!
キャッシュ内のエントリーを PUT リクエストに置き換えます。
PUT /rest/v2/caches/{cacheName}/{cacheKey}
PUT /rest/v2/caches/{cacheName}/{cacheKey}
指定されたキーの値がすでに存在する場合、 PUT 要求は値を更新します。既存の値を変更したくない場合は、値を変更する代わりに、409 (Conflict) を返す POST リクエストを使用してください。値の追加 を参照してください。
2.1.14. キーによるデータの取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストを使用して特定のキーのデータを取得します。
GET /rest/v2/caches/{cacheName}/{cacheKey}
GET /rest/v2/caches/{cacheName}/{cacheKey}
サーバーは、応答本文の指定されたキー cacheKey の下にある指定されたキャッシュ cacheName からデータを返します。応答には、MediaType ネゴシエーションに対応する Content-Type ヘッダーが含まれています。
ブラウザーは、たとえばコンテンツ配信ネットワーク (CDN) として、キャッシュに直接アクセスすることもできます。Data Grid は、各エントリーに固有のETagを、Last-Modified および Expires ヘッダーフィールドとともに返します。
これらのフィールドは、リクエストで返されるデータの状態に関する情報を提供します。ETag を使用すると、ブラウザーやその他のクライアントは、変更されたデータのみを要求できるため、帯域幅が節約されます。
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| オプション |
リクエストのキーのコンテンツタイプを設定します。デフォルトは |
|
| オプション | コンテンツを返すために必要な形式を設定します。詳細については、 Accept を参照してください。 |
extended パラメーターをクエリー文字列に追加して、追加情報を取得します。
GET /rest/v2/caches/{cacheName}/{cacheKey}?extended
GET /rest/v2/caches/{cacheName}/{cacheKey}?extended
上記のリクエストはカスタムヘッダーを返します:
-
Cluster-Primary-Ownerは、キーのプライマリー所有者であるノード名を返します。 -
Cluster-Node-Nameは、要求を処理したサーバーの JGroups ノード名を返します。 -
Cluster-Physical-Addressは、要求を処理したサーバーの物理 JGroups アドレスを返します。
2.1.15. エントリーが存在するかどうかの確認 リンクのコピーリンクがクリップボードにコピーされました!
HEAD リクエストで特定のエントリーが存在することを確認します。
HEAD /rest/v2/caches/{cacheName}/{cacheKey}
HEAD /rest/v2/caches/{cacheName}/{cacheKey}
上記のリクエストは、ヘッダーフィールドと、エントリーとともに保存したものと同じコンテンツのみを返します。たとえば、文字列を保存した場合、リクエストは文字列を返します。バイナリー、base64 エンコード、blob、またはシリアル化された Java オブジェクトを保存した場合、DataGrid はリクエストのコンテンツを逆シリアル化しません。
HEAD リクエストは、extended パラメーターもサポートしています。
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| オプション |
リクエストのキーのコンテンツタイプを設定します。デフォルトは |
2.1.16. エントリーの削除 リンクのコピーリンクがクリップボードにコピーされました!
DELETE リクエストを使用してキャッシュからエントリーを 削除 します。
DELETE /rest/v2/caches/{cacheName}/{cacheKey}
DELETE /rest/v2/caches/{cacheName}/{cacheKey}
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| オプション |
リクエストのキーのコンテンツタイプを設定します。デフォルトは |
2.1.17. キャッシュの削除 リンクのコピーリンクがクリップボードにコピーされました!
DELETE リクエストを使用して Data Grid クラスターからキャッシュを DELETE 削除します。
DELETE /rest/v2/caches/{cacheName}
DELETE /rest/v2/caches/{cacheName}
2.1.18. キャッシュからのすべてのキーの取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストを呼び出して、キャッシュ内のすべてのキーを JSON 形式で取得します。
GET /rest/v2/caches/{cacheName}?action=keys
GET /rest/v2/caches/{cacheName}?action=keys
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| オプション |
InputStream を使用して取得するキーの最大数を指定します。負の値はすべてのキーを取得します。デフォルト値は |
|
| オプション |
キーを取得するときの内部バッチサイズを指定します。デフォルト値は |
2.1.19. キャッシュからのすべてのエントリーの取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストを呼び出し、キャッシュ内のすべてのエントリーを JSON 形式で取得します。
GET /rest/v2/caches/{cacheName}?action=entries
GET /rest/v2/caches/{cacheName}?action=entries
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| オプション |
応答の各エントリーのメタデータが含まれます。デフォルト値は |
|
| オプション |
応答に含めるキーの最大数を指定します。負の値はすべてのキーを取得します。デフォルト値は |
|
| オプション |
キーを取得するときの内部バッチサイズを指定します。デフォルト値は |
|
| オプション |
|
Data Grid は、以下のような JSON レスポンスを提供します。
-
keyエントリーのキー。 -
valueエントリーの値。 -
timeToLiveSecondsエントリーの有効期間に基づきますが、秒単位です。エントリーが期限切れにならない場合は-1です。metadata = "true"を設定しない限り、返されません。 -
maxIdleTimeSeconds最大アイドル時間 (秒単位)。エントリーが期限切れにならない場合は-1。metadata = "true"を設定しない限り、返されません。 -
作成済みエントリーが
createdされた時刻、または不滅のエントリーの場合は-1。metadata = "true"を設定しない限り、返されません。 -
lastUsedエントリーに対して操作が行われた最後の時刻、または不滅のエントリーでは-1。metadata = "true"を設定しない限り、返されません。 -
expireTimeエントリーが期限切れになる時間、または不死身のエントリーの場合は-1。metadata = "true"を設定しない限り、返されません。
2.1.20. キャッシュのクリア リンクのコピーリンクがクリップボードにコピーされました!
キャッシュからすべてのデータを削除するには、POST リクエストに ?action=clear パラメーターを付けて実行します。
POST /rest/v2/caches/{cacheName}?action=clear
POST /rest/v2/caches/{cacheName}?action=clear
操作が正常に完了すると、サービスは 204 (No Content) を返します。
2.1.21. キャッシュサイズの取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストと ?action=size パラメーターを使用して、クラスター全体のキャッシュのサイズを取得します。
GET /rest/v2/caches/{cacheName}?action=size
GET /rest/v2/caches/{cacheName}?action=size
2.1.22. キャッシュ統計の取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストを使用してキャッシュの実行時統計を取得します。
GET /rest/v2/caches/{cacheName}?action=stats
GET /rest/v2/caches/{cacheName}?action=stats
2.1.23. キャッシュのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストを使用して、 Data Grid クラスターで使用可能なすべてのキャッシュをリスト表示します。
GET /rest/v2/caches/
GET /rest/v2/caches/
2.1.24. キャッシュイベントをリッスンする リンクのコピーリンクがクリップボードにコピーされました!
Server-Sent Events でキャッシュイベントを受信する。event 値は、cache-entry-created、cache-entry-removed、cache-entry-updated、cache-entry-expired のいずれかになります。data 値には、Accept ヘッダーで設定された形式でイベントを発生させたエントリーのキーが含まれます。
GET /rest/v2/caches/{name}?action=listen
GET /rest/v2/caches/{name}?action=listen
| Header | 必須またはオプション | パラメーター |
|---|---|---|
|
| オプション |
コンテンツを返すために必要な形式を設定します。サポートされている形式は、 |
2.1.25. リバランスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
特定のキャッシュの自動リバランスをオンにします。
POST /rest/v2/caches/{cacheName}?action=enable-rebalancing
POST /rest/v2/caches/{cacheName}?action=enable-rebalancing
2.1.26. リバランスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
特定のキャッシュの自動リバランスをオフにします。
POST /rest/v2/caches/{cacheName}?action=disable-rebalancing
POST /rest/v2/caches/{cacheName}?action=disable-rebalancing
2.1.27. キャッシュの可用性の取得 リンクのコピーリンクがクリップボードにコピーされました!
キャッシュの可用性を取得します。
GET /rest/v2/caches/{cacheName}?action=get-availability
GET /rest/v2/caches/{cacheName}?action=get-availability
内部キャッシュの可用性を取得できますが、これは将来の Data Grid バージョンで変更される可能性があります。
2.1.28. キャッシュの可用性の設定 リンクのコピーリンクがクリップボードにコピーされました!
DENY_READ_WRITES または ALLOW_READS パーティション処理戦略のいずれかを使用する場合は、クラスター化されたキャッシュの可用性を変更します。
POST /rest/v2/caches/{cacheName}?action=set-availability&availability={AVAILABILITY}
POST /rest/v2/caches/{cacheName}?action=set-availability&availability={AVAILABILITY}
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| 必須 | AVAILABLE または DEGRADED_MODE |
-
AVAILABLEは、ネットワークパーティション内のすべてのノードでキャッシュを利用できるようにします。 -
DEGRADED_MODEは、ネットワークパーティションが発生したときにキャッシュの読み取りおよび書き込み操作を防止します。
内部キャッシュの可用性を設定できますが、これは将来の Data Grid バージョンで変更される可能性があります。
2.1.29. stable トポロジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、クラスターのシャットダウン後、Data Grid はすべてのノードがクラスターに参加してトポロジーを復元するまで待機します。ただし、REST 操作を使用して、特定のキャッシュに対して現在のクラスタートポロジーを安定していると定義することは可能です。
POST /rest/v2/caches/{cacheName}?action=initialize&force={FORCE}
POST /rest/v2/caches/{cacheName}?action=initialize&force={FORCE}
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| オプション | true または false |
-
現在のトポロジーで欠落しているノードの数が所有者の数以上である場合は、
forceが必要です。
トポロジーを手動でインストールすると、データが失われる可能性があります。この操作は、初期トポロジーを再作成できない場合にのみ実行してください。
2.1.30. RESTAPI を使用したインデックス作成とクエリー リンクのコピーリンクがクリップボードにコピーされました!
HTTP クライアントから GET リクエストと ?action=search&query パラメーターを使用して、リモートキャッシュにクエリーを実行します。
GET /rest/v2/caches/{cacheName}?action=search&query={ickle query}
GET /rest/v2/caches/{cacheName}?action=search&query={ickle query}
Data Grid の応答
-
total_resultsは、クエリーの結果の合計数を表示します。 -
hitsは、クエリーからのマッチの配列です。 hitは、クエリーにマッチするオブジェクトです。ヒントヒットにはすべてのフィールドを含めることができますが、
Select句を使用するとフィールドのサブセットを含めることができます。
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| 必須 | クエリー文字列を指定します。 |
|
| オプション |
返される最初の結果のインデックスを指定します。デフォルトは |
|
| オプション |
返す結果の数を設定します。デフォルトは |
|
| オプション |
インデックス付きクエリーのヒット数の必要な精度に上限を設定します。デフォルト値は |
|
| オプション |
|
クエリーパラメーターを指定せずにリクエストの本文を使用するには、以下のように POST リクエストを呼び出します。
POST /rest/v2/caches/{cacheName}?action=search
POST /rest/v2/caches/{cacheName}?action=search
リクエスト本文のクエリー
{
"query":"from Entity where name:\"user1\"",
"max_results":20,
"offset":10
}
{
"query":"from Entity where name:\"user1\"",
"max_results":20,
"offset":10
}
2.1.30.1. インデックスの再構築 リンクのコピーリンクがクリップボードにコピーされました!
フィールドを削除するか、インデックスフィールド定義を変更する場合は、インデックスを再構築して、インデックスがキャッシュ内のデータと一致していることを確認する必要があります。
REST、CLI、Data Grid Console、またはリモートクライアントを使用して Protobuf スキーマを再構築すると、不整合が発生する可能性があります。リモートクライアントには Protostream エンティティーのバージョンが異なる場合があり、信頼性の低い動作が発生する可能性があります。
POST リクエストと ?action=reindex パラメーターを使用して、キャッシュ内のすべてのデータのインデックスを再作成します。
POST /rest/v2/caches/{cacheName}/search/indexes?action=reindex
POST /rest/v2/caches/{cacheName}/search/indexes?action=reindex
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| オプション |
|
|
| オプション |
|
2.1.30.2. インデックススキーマの更新 リンクのコピーリンクがクリップボードにコピーされました!
インデックススキーマの更新操作を使用すると、最小限のダウンタイムでスキーマの変更を追加できます。Data Grid は、以前にインデックス化されたデータを削除してインデックススキーマを再作成する代わりに、新しいフィールドを既存のスキーマに追加します。
POST リクエストと ?action=updateSchema パラメーターを使用して、キャッシュ内の値のインデックススキーマを更新します。
POST /rest/v2/caches/{cacheName}/search/indexes?action=updateSchema
POST /rest/v2/caches/{cacheName}/search/indexes?action=updateSchema
2.1.30.3. インデックスのパージ リンクのコピーリンクがクリップボードにコピーされました!
POST リクエストと ?action=clear パラメーターを使用して、キャッシュからすべてのインデックスを削除します。
POST /rest/v2/caches/{cacheName}/search/indexes?action=clear
POST /rest/v2/caches/{cacheName}/search/indexes?action=clear
操作が正常に完了すると、サービスは 204 (No Content) を返します。
2.1.30.4. インデックスのメタモデル取得 リンクのコピーリンクがクリップボードにコピーされました!
このキャッシュで定義されたすべてのインデックスの完全なインデックススキーマメタモデルを提示します。
GET /rest/v2/caches/{cacheName}/search/indexes/metamodel
GET /rest/v2/caches/{cacheName}/search/indexes/metamodel
Data Grid の応答
2.1.30.5. クエリーおよびインデックス統計の取得 リンクのコピーリンクがクリップボードにコピーされました!
GET 要求を使用して、キャッシュでクエリーとインデックスに関する情報を取得します。
キャッシュ設定で統計を有効にする必要があります。有効にしないと、結果が空になります。
GET /rest/v2/caches/{cacheName}/search/stats
GET /rest/v2/caches/{cacheName}/search/stats
| パラメーター | 必須またはオプション | 値 |
|---|---|---|
|
| オプション |
クラスターの全メンバーの連結統計情報を取得するには、 |
Data Grid の応答
のセクション
query
-
indexed_localインデックス付きのクエリーの詳細を提供します。 -
indexed_distributed分散したインデックス付きクエリーの詳細を提供します。 -
hybridインデックスを部分的にしか使用していないクエリーの詳細を提供します。 -
non_indexedインデックスを使用しなかったクエリーの詳細を提供します。 -
entity_loadインデックス付きクエリーの実行後にオブジェクトをフェッチするためのキャッシュ操作に関する詳細を提供します。
時間は常にナノ秒単位で測定されます。
のセクション
index
typesキャッシュに設定されている各インデックスタイプ (クラス名や protobuf メッセージ) の詳細を提供する。-
countそのタイプにインデックスされているエンティティーの数。 -
size型の使用量 (バイト)。
-
-
reindexing値がtrueの場合、Indexerはキャッシュで動作しています。
2.1.30.6. クエリー統計のクリア リンクのコピーリンクがクリップボードにコピーされました!
POST リクエストと ?action=clear パラメーターを使用して、ランタイムの統計情報をリセットすることができます。
POST /rest/v2/caches/{cacheName}/search/stats?action=clear
POST /rest/v2/caches/{cacheName}/search/stats?action=clear
Data Grid は、ローカルノードのクエリー実行時間のみをリセットします。この操作では、インデックス統計はクリアされません。
2.1.30.7. インデックス統計の取得 (非推奨) リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストでキャッシュ内のインデックスの情報を取得します。
GET /rest/v2/caches/{cacheName}/search/indexes/stats
GET /rest/v2/caches/{cacheName}/search/indexes/stats
Data Grid の応答
-
indexed_class_namesキャッシュに存在するインデックスのクラス名を提供します。Protobuf の場合、値は常にorg.infinispan.query.remote.impl.indexing.ProtobufValueWrapperです。 -
indexed_entities_countクラスごとにインデックスされているエンティティーの数を提供します。 -
index_sizesキャッシュ内の各インデックスのサイズをバイト単位で指定します。 -
reindexingキャッシュに対してインデックス変更操作が行われたかどうかを示す。この値がtrueの場合、MassIndexerはキャッシュで起動したことになります。
2.1.30.8. クエリー統計の取得 (非推奨) リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストでキャッシュに実行されたクエリーの情報を取得します。
GET /rest/v2/caches/{cacheName}/search/query/stats
GET /rest/v2/caches/{cacheName}/search/query/stats
Data Grid の応答
-
search_query_execution_count実行されたクエリーの数を提供します。 -
search_query_total_timeクエリーに費やされた総時間を提供します。 -
search_query_execution_max_timeクエリーにかかる最大時間を指定します。 -
search_query_execution_avg_timeクエリーの平均実行時間を提供します。 -
object_loading_total_timeクエリー実行後にキャッシュからオブジェクトをロードするのにかかった時間の合計を提供します。 -
object_loading_execution_max_timeオブジェクトのロード実行にかかる最大時間を提供します。 -
object_loading_execution_avg_timeオブジェクトのロード実行にかかる最大時間を提供します。 -
objects_loaded_countロードされたオブジェクトの数を提供します。 -
search_query_execution_max_time_query_string実行された最も遅いクエリーを提供します。
2.1.30.9. クエリー統計情報のクリア (非推奨) リンクのコピーリンクがクリップボードにコピーされました!
POST リクエストと ?action=clear パラメーターを使用して、ランタイムの統計情報をリセットすることができます。
POST /rest/v2/caches/{cacheName}/search/query/stats?action=clear
POST /rest/v2/caches/{cacheName}/search/query/stats?action=clear
2.1.31. キャッシュを利用したクロスサイト・オペレーション リンクのコピーリンクがクリップボードにコピーされました!
Data Grid REST API を使用して、クロスサイトレプリケーション操作を行います。
2.1.31.1. すべてのバックアップロケーションのステータス取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストですべてのバックアップロケーションのステータスを取得します。
GET /rest/v2/caches/{cacheName}/x-site/backups/
GET /rest/v2/caches/{cacheName}/x-site/backups/
Data Grid は、以下の例のように、各バックアップロケーションのステータスを JSON 形式で応答します。
| 値 | 説明 |
|---|---|
|
| ローカルクラスター内のすべてのノードには、バックアップの場所を含むクロスサイトビューがあります。 |
|
| ローカルクラスター内のノードには、バックアップの場所とのクロスサイトビューがありません。 |
|
| ローカルクラスター内の一部のノードにはバックアップの場所を含むクロスサイトビューがあり、ローカルクラスター内の他のノードにはクロスサイトビューがありません。応答は、各ノードのステータスを示します。 |
2.1.31.2. 特定のバックアップの場所のステータスの取得 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストでバックアップロケーションのステータスを取得する。
GET /rest/v2/caches/{cacheName}/x-site/backups/{siteName}
GET /rest/v2/caches/{cacheName}/x-site/backups/{siteName}
Data Grid は、以下の例のように、サイト内の各ノードのステータスを JSON 形式で応答します。
{
"NodeA":"offline",
"NodeB":"online"
}
{
"NodeA":"offline",
"NodeB":"online"
}
| 値 | 説明 |
|---|---|
|
| ノードはオンラインです。 |
|
| ノードはオフラインです。 |
|
| ステータスを取得できません。リモートキャッシュがシャットダウンしているか、リクエスト中にネットワークエラーが発生した可能性があります。 |
2.1.31.3. バックアップの場所をオフラインにする リンクのコピーリンクがクリップボードにコピーされました!
POST リクエストと ?action=take-offline パラメーターを使用して、バックアップの場所をオフラインにします。
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=take-offline
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=take-offline
2.1.31.4. バックアップの場所をオンラインにする リンクのコピーリンクがクリップボードにコピーされました!
?action=bring-online パラメーターを使用してバックアップ場所をオンラインにします。
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=bring-online
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=bring-online
2.1.31.5. バックアップ場所への状態のプッシュ リンクのコピーリンクがクリップボードにコピーされました!
?action=start-push-state パラメーターを使用して、キャッシュ状態をバックアップ場所にプッシュします。
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=start-push-state
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=start-push-state
2.1.31.6. 状態遷移のキャンセル リンクのコピーリンクがクリップボードにコピーされました!
?action=cancel-push-state パラメーターを使用して状態遷移操作をキャンセルします。
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=cancel-push-state
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=cancel-push-state
2.1.31.7. 状態遷移ステータスの取得 リンクのコピーリンクがクリップボードにコピーされました!
?action=push-state-status パラメーターを使用して状態遷移操作のステータスを取得します。
GET /rest/v2/caches/{cacheName}/x-site/backups?action=push-state-status
GET /rest/v2/caches/{cacheName}/x-site/backups?action=push-state-status
Data Grid は、以下の例のように、各バックアップ拠点の状態移行の状況を JSON 形式で応答します。
{
"NYC":"CANCELED",
"LON":"OK"
}
{
"NYC":"CANCELED",
"LON":"OK"
}
| 値 | 説明 |
|---|---|
|
| バックアップ場所への状態遷移が進行中です。 |
|
| 状態の転送が正常に完了しました。 |
|
| 状態遷移でエラーが発生しました。ログファイルを確認してください。 |
|
| 状態移行のキャンセルが進行中です。 |
2.1.31.8. 状態遷移ステータスのクリア リンクのコピーリンクがクリップボードにコピーされました!
?action=clear-push-state-status パラメーターを使用して送信サイトの状態遷移ステータスをクリアします。
POST /rest/v2/caches/{cacheName}/x-site/local?action=clear-push-state-status
POST /rest/v2/caches/{cacheName}/x-site/local?action=clear-push-state-status
2.1.31.9. オフラインにする条件の変更 リンクのコピーリンクがクリップボードにコピーされました!
特定の条件が満たされると、サイトはオフラインになります。オフラインにするパラメーターを変更して、バックアップロケーションが自動的にオフラインになるタイミングを制御します。
手順
GETリクエストとtake-offline-configパラメーターで設定されたテイクオフラインパラメーターを確認します。GET /rest/v2/caches/{cacheName}/x-site/backups/{siteName}/take-offline-configGET /rest/v2/caches/{cacheName}/x-site/backups/{siteName}/take-offline-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow Data Grid のレスポンスには、以下のように
after_failuresとmin_waitフィールドがあります。{ "after_failures": 2, "min_wait": 1000 }{ "after_failures": 2, "min_wait": 1000 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUTリクエストの本文のオフライン取得パラメーターを変更します。PUT /rest/v2/caches/{cacheName}/x-site/backups/{siteName}/take-offline-configPUT /rest/v2/caches/{cacheName}/x-site/backups/{siteName}/take-offline-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 操作が正常に完了すると、サービスは
204 (No Content)を返します。
2.1.31.10. 受信サイトからの状態遷移のキャンセル リンクのコピーリンクがクリップボードにコピーされました!
2 つのバックアップ場所間の接続が切断された場合は、プッシュを受信しているサイトでの状態遷移をキャンセルできます。
?action=cancel-receive-state パラメーターで、リモートサイトからの状態転送をキャンセルし、ローカルキャッシュの現在の状態を維持する。
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=cancel-receive-state
POST /rest/v2/caches/{cacheName}/x-site/backups/{siteName}?action=cancel-receive-state
2.1.32. ローリングアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Data Grid クラスター間でキャッシュデータのローリングアップグレードを実行します
2.1.32.1. ソースクラスターの接続 リンクのコピーリンクがクリップボードにコピーされました!
ターゲット・クラスターとソース・クラスターの接続は
POST /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
POST /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
本文として JSON 形式の remote-store 定義を提供する必要があります。
JSON
security 、 async-executor 、 connection-pool など、いくつかの要素はオプションです。この設定には、最低限、キャッシュ名、false に設定された raw-values、ソースクラスター内の単一ポートのホスト/IP が含まれていなければなりません。remote-store 設定の詳細については、XSD Schemaを参照してください。
操作が正常に完了した場合、サービスは 204(No Content) を返します。ターゲット・クラスターがソース・クラスターにすでに接続されている場合は、ステータス 304(Not Modified) を返します。
2.1.32.2. ソースクラスター接続の詳細の取得 リンクのコピーリンクがクリップボードにコピーされました!
キャッシュの remote-store 定義を取得するには、 GET リクエストを使用します。
GET /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
GET /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
キャッシュが以前に接続されていた場合は、関連付けられた remote-store の設定を JSON 形式とステータス 200(OK) で返します。それ以外の場合は、404(見つかりません) ステータスを返します。
これはクラスター全体の操作ではなく、REST の呼び出しが処理されたノードのキャッシュのリモートストアのみを返します。
2.1.32.3. キャッシュが接続されているかどうかの確認 リンクのコピーリンクがクリップボードにコピーされました!
キャッシュがリモートクラスターに接続されているかどうかを確認するには、HEAD リクエストを使用します。
HEAD /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
HEAD /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
クラスターのすべてのノードにおいて、cacheName に 1 つのリモートストアが設定されている場合は 200(OK)、そうでない場合は 404(NOT_FOUND) を返します。
2.1.32.4. データの同期 リンクのコピーリンクがクリップボードにコピーされました!
ソースクラスターからターゲットクラスターへのデータの同期には、POST リクエストと ?action=sync-data パラメーターを使用します。
POST /rest/v2/caches/{cacheName}?action=sync-data
POST /rest/v2/caches/{cacheName}?action=sync-data
操作が完了すると、Data Grid はターゲットクラスターにコピーされたエントリーの合計数で応答します。
2.1.32.5. ソースクラスターの接続 リンクのコピーリンクがクリップボードにコピーされました!
ターゲット・クラスターにデータを同期させた後、DELETE リクエストでソース・クラスターから切断します。
DELETE /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
DELETE /rest/v2/caches/{cacheName}/rolling-upgrade/source-connection
操作が正常に完了すると、サービスは 204 (No Content) を返します。ソースが接続されていない場合、コード 304(変更なし) を返します。