2.3. Protobuf スキーマの操作

Data Grid REST API を利用して、Protobuf スキーマ .proto を作成・管理することができます。

2.3.1. Protobuf スキーマの作成

ペイロードに protobuf ファイルのコンテンツを含む POST リクエストで、Data Grid クラスター全体に Protobuf スキーマを作成します。

POST /rest/v2/schemas/{schemaName}

スキーマが既に存在する場合、Data Grid は HTTP409 (Conflict) を返します。構文エラーのため、またはその依存関係の一部が欠落しているためにスキーマが有効でない場合、Data Grid はスキーマを格納し、応答本文にエラーを返します。

Data Grid は、スキーマ名とエラーで応答します。

{
  "name" : "users.proto",
  "error" : {
    "message": "Schema users.proto has errors",
    "cause": "java.lang.IllegalStateException:Syntax error in error.proto at 3:8: unexpected label: messoge"
  }
}
  • name は Protobuf スキーマの名前です。
  • error は、有効な Protobuf スキーマでは null です。Data Grid がスキーマを正常に検証できない場合、エラーを返します。

操作が正常に完了すると、サービスは 201 (Created) を返します。

2.3.2. Protobuf スキーマの読み取り

GET リクエストで Data Grid から Protobuf スキーマを取得します。

GET /rest/v2/schemas/{schemaName}

2.3.3. Protobuf スキーマの更新

ペイロードに protobuf ファイルのコンテンツを含む PUT リクエストで Protobuf スキーマを変更する。

PUT /rest/v2/schemas/{schemaName}

構文エラーのため、またはその依存関係の一部が欠落しているためにスキーマが有効でない場合、Data Grid はスキーマを更新し、応答本文にエラーを返します。

{
  "name" : "users.proto",
  "error" : {
    "message": "Schema users.proto has errors",
    "cause": "java.lang.IllegalStateException:Syntax error in error.proto at 3:8: unexpected label: messoge"
  }
}
  • name は Protobuf スキーマの名前です。
  • error は、有効な Protobuf スキーマでは null です。Data Grid がスキーマを正常に検証できない場合、エラーを返します。

2.3.4. Protobuf スキーマの削除

DELETE リクエストで Data Grid クラスターから Protobuf スキーマを削除します。

DELETE /rest/v2/schemas/{schemaName}

操作が正常に完了すると、サービスは 204 (No Content) を返します。

2.3.5. Protobuf スキーマの一覧表示

GET リクエストで利用可能なすべての Protobuf スキーマをリストアップします。

GET /rest/v2/schemas/

Data Grid は、クラスターで使用可能なすべてのスキーマのリストで応答します。

[ {
  "name" : "users.proto",
  "error" : {
    "message": "Schema users.proto has errors",
    "cause": "java.lang.IllegalStateException:Syntax error in error.proto at 3:8: unexpected label: messoge"
  }
}, {
  "name" : "people.proto",
  "error" : null
}]
  • name は Protobuf スキーマの名前です。
  • error は、有効な Protobuf スキーマでは null です。Data Grid がスキーマを正常に検証できない場合、エラーを返します。