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 スキーマを変更する。

重要

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

2.3.6. Protobuf タイプの一覧表示

GET 要求で使用可能なすべての Protobuf タイプを一覧表示します。

GET /rest/v2/schemas?action=types

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

["org.infinispan.Person", "org.infinispan.Phone"]
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.