第6章 REST API を使用して Apicurio Registry コンテンツを管理する
クライアントアプリケーションは、Apicurio Registry REST API オペレーションを使用して、Apicurio Registry のスキーマと API アーティファクトを管理できます。たとえば、実稼働環境にデプロイされた CI/CD パイプラインで使用できます。Core Registry API v3 は、Apicurio Registry に保存されているアーティファクト、バージョン、メタデータ、およびルールの操作を提供します。詳細は、Apicurio Registry REST API ドキュメント を参照してください。
この章では、Core Registry API v3 を使用して、次のタスクを実行する方法の例を示します。
6.1. Apicurio Registry REST API コマンドを使用したスキーマおよび API アーティファクトの管理 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Core Registry API v3 を使用して、Apicurio Registry で単純なスキーマアーティファクトを追加および取得する簡単な curl ベースの例を示します。
前提条件
- Apicurio Registry が環境にインストールされ、実行されている。
手順
/groups/{groupId}/artifacts操作を使用して、Apicurio Registry にアーティファクトを追加します。次のcurlコマンドの例では、株価アプリケーションの単純なスキーマアーティファクトを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
この例では、アーティファクト ID が
share-priceの Apache Avro スキーマアーティファクトを追加します。一意のアーティファクト ID を指定しない場合、Apicurio Registry は UUID として自動的に生成します。 -
MY-REGISTRY-URLは、Apicurio Registry がデプロイされているホスト名です。たとえば、http://localhost:8080です。 -
この例では、API パスで
my-groupのグループ ID を指定します。一意のグループ ID を指定しない場合は、API パスで../groups/defaultを指定する必要があります。
-
この例では、アーティファクト ID が
応答に、アーティファクトが追加されたことを確認するために、想定される JSON body が含まれていることを確認します。以下に例を示します。
{"artifact":{"owner":"","createdOn":"2024-09-26T17:24:21Z","modifiedBy":"","modifiedOn":"2024-09-26T17:24:21Z","artifactType":"AVRO","groupId":"my-group","artifactId":"share-price"},"version":{"version":"1","owner":"","createdOn":"2024-09-26T17:24:21Z","artifactType":"AVRO","globalId":2,"state":"ENABLED","groupId":"my-group","contentId":2,"artifactId":"share-price"}}{"artifact":{"owner":"","createdOn":"2024-09-26T17:24:21Z","modifiedBy":"","modifiedOn":"2024-09-26T17:24:21Z","artifactType":"AVRO","groupId":"my-group","artifactId":"share-price"},"version":{"version":"1","owner":"","createdOn":"2024-09-26T17:24:21Z","artifactType":"AVRO","globalId":2,"state":"ENABLED","groupId":"my-group","contentId":2,"artifactId":"share-price"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
アーティファクトの追加時にバージョンが指定されなかったため、デフォルトのバージョン
1が自動的に作成されます。 -
これは Apicurio Registry に追加された 2 番目のアーティファクトであるため、グローバル ID とコンテンツ ID の値は
2です。
-
アーティファクトの追加時にバージョンが指定されなかったため、デフォルトのバージョン
API パスのアーティファクト ID を使用して、Apicurio Registry からアーティファクトバージョンコンテンツを取得します。この例では、指定された ID は
share-priceです。curl -H "Authorization: Bearer $ACCESS_TOKEN" \ MY-REGISTRY-URL/apis/registry/v3/groups/my-group/artifacts/share-price/versions/1/content
$ curl -H "Authorization: Bearer $ACCESS_TOKEN" \ MY-REGISTRY-URL/apis/registry/v3/groups/my-group/artifacts/share-price/versions/1/content {"type":"record","name":"price","namespace":"com.example", "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow