2.3. Protobuf スキーマの操作
Data Grid REST API を利用して、Protobuf スキーマ .proto を作成・管理することができます。
2.3.1. Protobuf スキーマの作成 リンクのコピーリンクがクリップボードにコピーされました!
ペイロードに protobuf ファイルのコンテンツを含む POST リクエストで、Data Grid クラスター全体に Protobuf スキーマを作成します。
POST /rest/v2/schemas/{schemaName}
POST /rest/v2/schemas/{schemaName}
スキーマがすでに存在する場合、Data Grid は HTTP409 (Conflict) を返します。構文エラーのため、またはその依存関係の一部が欠落しているためにスキーマが有効でない場合、Data Grid はスキーマを格納し、応答本文にエラーを返します。
Data Grid は、スキーマ名とエラーで応答します。
-
nameは Protobuf スキーマの名前です。 -
errorは、有効な Protobuf スキーマではnullです。Data Grid がスキーマを正常に検証できない場合、エラーを返します。
操作が正常に完了すると、サービスは 201 (Created) を返します。
2.3.2. Protobuf スキーマの読み取り リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストで Data Grid から Protobuf スキーマを取得します。
GET /rest/v2/schemas/{schemaName}
GET /rest/v2/schemas/{schemaName}
2.3.3. Protobuf スキーマの更新 リンクのコピーリンクがクリップボードにコピーされました!
ペイロードに protobuf ファイルのコンテンツを含む PUT リクエストで Protobuf スキーマを変更する。
既存の Protobuf スキーマ定義を変更する場合は、インデックススキーマを更新または再構築する必要があります。変更に既存のフィールドの変更が含まれる場合は、インデックスを再構築する必要があります。既存のスキーマを変更せずに新しいフィールドを追加する場合は、再構築の代わりにインデックススキーマを更新できます。
PUT /rest/v2/schemas/{schemaName}
PUT /rest/v2/schemas/{schemaName}
構文エラーのため、またはその依存関係の一部が欠落しているためにスキーマが有効でない場合、Data Grid はスキーマを更新し、応答本文にエラーを返します。
-
nameは Protobuf スキーマの名前です。 -
errorは、有効な Protobuf スキーマではnullです。Data Grid がスキーマを正常に検証できない場合、エラーを返します。
2.3.4. Protobuf スキーマの削除 リンクのコピーリンクがクリップボードにコピーされました!
DELETE リクエストで Data Grid クラスターから Protobuf スキーマを削除します。
DELETE /rest/v2/schemas/{schemaName}
DELETE /rest/v2/schemas/{schemaName}
操作が正常に完了すると、サービスは 204 (No Content) を返します。
2.3.5. Protobuf スキーマのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
GET リクエストで利用可能なすべての Protobuf スキーマをリストアップします。
GET /rest/v2/schemas/
GET /rest/v2/schemas/
Data Grid は、クラスターで使用可能なすべてのスキーマのリストで応答します。
-
nameは Protobuf スキーマの名前です。 -
errorは、有効な Protobuf スキーマではnullです。Data Grid がスキーマを正常に検証できない場合、エラーを返します。
2.3.6. Protobuf タイプの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
GET 要求で使用可能なすべての Protobuf タイプを一覧表示します。
GET /rest/v2/schemas?action=types
GET /rest/v2/schemas?action=types
Data Grid は、クラスターで使用可能なすべてのタイプのリストで応答します。
["org.infinispan.Person", "org.infinispan.Phone"]
["org.infinispan.Person", "org.infinispan.Phone"]