第4章 REST API を使用した Service Registry コンテンツの管理
クライアントアプリケーションは、Registry REST API 操作を使用して、Service Registry のスキーマおよび API アーティファクトを管理できます (例: 実稼働環境用にデプロイされる CI/CD パイプラインなど)。Registry REST API は、レジストリーに保存されるアーティファクト、バージョン、メタデータ、およびルールの作成、読み取り、更新、および削除操作を提供します。詳細は、Apicurio Registry REST API のドキュメント を参照してください。
本章では、Service Registry core REST API について説明し、これを使用してレジストリーに保存されているスキーマおよび API アーティファクトを管理する方法を説明します。
4.1. Registry REST API コマンドを使用したスキーマおよび API アーティファクトの管理
本セクションでは、レジストリー v2 コア REST API を使用して、レジストリーに Apache Avro スキーマアーティファクトを追加および取得するための単純な curl ベースの例を紹介します。
前提条件
- Service Registry が環境にインストールされ、実行されている。
手順
/groups/{group}/artifacts
操作を使用してアーティファクトをレジストリーに追加します。以下のcurl
コマンドの例は、株価アプリケーションの単純なアーティファクトを追加します。$ curl -X POST -H "Content-type: application/json; artifactType=AVRO" \ -H "X-Registry-ArtifactId: share-price" \ 1 --data '{"type":"record","name":"price","namespace":"com.example", \ "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}' \ 2 http://MY-REGISTRY-HOST/apis/registry/v2/groups/my-group/artifacts 3
- 1
- この例では、
share-price
のアーティファクト ID を持つ Avro スキーマアーティファクトを追加します。一意のアーティファクト ID を指定しない場合、Service Registry は UUID として自動的に生成します。 - 2
MY-REGISTRY-HOST
は、Service Registry がデプロイされているホスト名です。例:my-cluster-service-registry-myproject.example.com
。- 3
- この例では、API パスで
my-group
のグループ ID を指定します。一意のグループ ID を指定しない場合は、API パスで../groups/default
を指定する必要があります。
応答に、アーティファクトが追加されたことを確認するために、想定される JSON body が含まれていることを確認します。以下に例を示します。
{"createdBy":"","createdOn":"2021-04-16T09:07:51+0000","modifiedBy":"", "modifiedOn":"2021-04-16T09:07:51+0000","id":"share-price","version":"1", 1 "type":"AVRO","globalId":2,"state":"ENABLED","groupId":"my-group","contentId":2} 2
API パスでアーティファクト ID を使用して、レジストリーからアーティファクトコンテンツを取得します。この例では、指定された ID は
share-price
です。$ curl http://MY-REGISTRY-URL/apis/registry/v2/groups/my-group/artifacts/share-price \ {"type":"record","name":"price","namespace":"com.example", \ "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}
関連情報
- REST API のサンプル要求の詳細は、Apicurio Registry REST API のドキュメント を参照してください。