第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 が環境にインストールされ、実行されている。

手順

  1. /groups/{groupId}/artifacts 操作を使用して、Apicurio Registry にアーティファクトを追加します。次の curl コマンドの例では、株価アプリケーションの単純なスキーマアーティファクトを追加します。

    $ curl -X POST MY-REGISTRY-URL/apis/registry/v3/groups/my-group/artifacts \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESS_TOKEN" \
      --data-raw '{
        "artifactId": "share-price",
        "artifactType": "AVRO",
        "firstVersion": {
            "content": {
                "content": "{\"type\":\"record\",\"name\":\" p\",\"namespace\":\"com.example\", \"fields\":[{\"name\":\"symbol\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"string\"}]}",
                "contentType": "application/json"
            }
        }
    }'
    Copy to Clipboard Toggle word wrap
    • この例では、アーティファクト 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 を指定する必要があります。
  2. 応答に、アーティファクトが追加されたことを確認するために、想定される 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"}}
    Copy to Clipboard Toggle word wrap
    • アーティファクトの追加時にバージョンが指定されなかったため、デフォルトのバージョン 1 が自動的に作成されます。
    • これは Apicurio Registry に追加された 2 番目のアーティファクトであるため、グローバル ID とコンテンツ ID の値は 2 です。
  3. 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
     {"type":"record","name":"price","namespace":"com.example",
      "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat