10.2. Registry REST API コマンドを使用したアーティファクトの管理
クライアントアプリケーションは、Registry REST API コマンドを使用して、Service Registry のアーティファクトを管理できます(たとえば、実稼働環境にデプロイされた CI/CD パイプラインなど)。Registry REST API は、レジストリーに保存されるアーティファクト、バージョン、メタデータ、およびルールの作成、読み取り、更新、および削除操作を提供します。詳細は、Apicurio Registry REST API のドキュメント を参照してください。
本セクションでは、レジストリー REST API を使用してレジストリーに Apache Avro スキーマアーティファクトを追加および取得する簡単な curl ベースの例を紹介します。
REST API を使用して Service Registry にアーティファクトを追加する場合、一意のアーティファクト ID を指定しない場合、Service Registry は UUID として自動的に生成します。
前提条件
- 1章Service Registry の概要 を参照してください。
- Service Registry が環境にインストールされ、実行されている。
手順
/artifacts
操作を使用して、レジストリーにアーティファクトを追加します。以下のcurl
コマンドの例は、株価アプリケーションの単純なアーティファクトを追加します。$ 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"}]}' http://MY-REGISTRY-HOST/api/artifacts
以下の例では、
共有価格
のアーティファクト ID を持つ Avro スキーマアーティファクトを追加する方法を示します。MY-REGISTRY-HOST
は、Service Registry がデプロイされているホスト名です。例:my-cluster-service-registry-myproject.example.com
。応答に、アーティファクトが追加されたことを確認するために、想定される JSON ボディーが含まれていることを確認します。以下に例を示します。
{"createdOn":1578310374517,"modifiedOn":1578310374517,"id":"share-price","version":1,"type":"AVRO","globalId":8}
アーティファクト ID を使用してレジストリーからアーティファクトを取得します。たとえば、この場合は、指定の ID が
share-price
になります。$ curl http://MY-REGISTRY-URL/api/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 のドキュメント を参照してください。