1.2. Service Registry のスキーマおよび API アーティファクトおよびグループ
イベントスキーマや API 設計などの Service Registry に保存される項目は、レジストリーアーティファクトと呼ばれます。以下は、単純な株価アプリケーションの JSON 形式の Apache Avro スキーマアーティファクトの例を示しています。
{ "type": "record", "name": "price", "namespace": "com.example", "fields": [ { "name": "symbol", "type": "string" }, { "name": "price", "type": "string" } ] }
スキーマまたは API 設計がレジストリーのアーティファクトとして追加されると、クライアントアプリケーションはそのスキーマまたは API デザインを使用して、実行時にクライアントメッセージが正しいデータ構造に準拠することを確認できます。
Service Registry は、標準のイベントスキーマおよび API 仕様の幅広いメッセージペイロード形式をサポートしています。たとえば、サポートされている形式には、Apache Avro、Google Protobuf、GraphQL、AsyncAPI、OpenAPI などがあります。詳細は 8章Service Registry アーティファクトの参照 を参照してください。
スキーマおよび API グループ
アーティファクトグループ は、スキーマまたは API アーティファクトのオプションの名前付きコレクションです。各グループには、論理的に関連したスキーマまたは API 設計のセットが含まれており、通常、特定のアプリケーションまたは組織に属する単一のエンティティーにより管理されます。
スキーマと API 設計を追加するときに、オプションのアーティファクトグループを作成して、Service Registry でそれらを整理できます。たとえば、development
および production
アプリケーション環境、あるいは sales
および engineering
組織に一致するグループを作成できます。
スキーマおよび API グループには複数のアーティファクトタイプを含めることができます。たとえば、同じグループ内に Protobuf、Avro、JSON Schema、OpenAPI、および AsyncAPI スキーマおよび API アーティファクトがあるとします。
Service Registry Web コンソール、コア REST API、Maven プラグイン、または Java クライアントアプリケーションを使用して、スキーマと API アーティファクトおよびオプションのグループを作成できます。以下の例は、REST API を使用する方法を示しています。
$ curl -X POST -H "Content-type: application/json; artifactType=AVRO" \ -H "X-Registry-ArtifactId: share-price" \ --data '{"type":"record","name":"price","namespace":"com.example", \ "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}' \ https://my-registry.example.com/apis/registry/v2/groups/my-group/artifacts
この例では、my-group
という名前のアーティファクトグループに share-price
のアーティファクト ID を持つ Avro スキーマを追加します。
Service Registry Web コンソールを使用する場合にグループの指定は任意です。この場合、default
グループが自動的に作成されます。v2 REST API または Maven プラグインを使用し、一意のグループを作成したくない場合は API パスで default
グループを指定できます。
関連情報
- スキーマおよびグループの詳細は、Cloud Native Computing Foundation (CNCF) Schema Registry API Version 0.1 を参照してください。