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 がスキーマを正常に検証できない場合、エラーを返します。