4.2. Apicurio Registry REST API コマンドを使用したスキーマおよび API アーティファクトのバージョンの管理


Core Registry API v3 を使用してスキーマと API アーティファクトを追加するときにアーティファクトバージョン番号を指定しないと、Apicurio Registry によってバージョン番号が自動的に生成されます。新規アーティファクト作成時のデフォルトのバージョンは 1 です。

Apicurio Registry は、アーティファクトまたはアーティファクトバージョンを作成する際に、バージョン番号を指定できるカスタムバージョン管理もサポートしています。カスタムバージョン値を指定すると、アーティファクトまたはアーティファクトバージョンを作成する際に通常割り当てられるデフォルトバージョンがオーバーライドされます。続いて、バージョン番号を必要とする REST API 操作を実行する場合は、このバージョン値を使用できます。

このセクションでは、Core Registry API v3 を使用して、Apicurio Registry でカスタム Apache Avro スキーマバージョンを追加および取得する簡単な curl ベースの例を示します。カスタムバージョン番号を指定して、アーティファクトを作成したり、アーティファクトバージョンを追加したりできます。

前提条件

  • Apicurio Registry が環境にインストールされ、実行されている。

手順

  1. /groups/{groupId}/artifacts 操作を使用して、レジストリーにアーティファクトバージョンを追加します。以下の 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": "my-share-price",
        "artifactType": "AVRO",
        "firstVersion": {
            "version": "1.1.1",
            "content": {
                "content": "{\"type\":\"record\",\"name\":\" p\",\"namespace\":\"com.example\", \"fields\":[{\"name\":\"symbol\",\"type\":\"string\"},{\"name\":\"price\",\"type\":\"string\"}]}",
                "contentType": "application/json"
            }
        }
    }'
    • この例では、アーティファクト ID が my-share-price でバージョンが 1.1.1 の Avro スキーマアーティファクトを追加します。バージョンを指定しない場合、Apicurio Registry はデフォルトバージョンの 1 を自動的に生成します。
    • MY-REGISTRY-URL は、Apicurio Registry がデプロイされているホスト名です。例: my-cluster-service-registry-myproject.example.com
    • この例では、API パスで my-group のグループ ID を指定します。一意のグループ ID を指定しない場合は、API パスで ../groups/default を指定する必要があります。
  2. 応答に、カスタムアーティファクトバージョンが追加されたことを確認するために、想定される JSON body が含まれていることを確認します。以下に例を示します。

    {"artifact":{"owner":"","createdOn":"2024-09-26T17:06:21Z","modifiedBy":"","modifiedOn":"2024-09-26T17:06:21Z","artifactType":"AVRO","groupId":"my-group","artifactId":"my-share-price"},"version":{"version":"1.1.1","owner":"","createdOn":"2024-09-26T17:06:21Z","artifactType":"AVRO","globalId":4,"state":"ENABLED","groupId":"my-group","contentId":4,"artifactId":"my-share-price"}}
    • アーティファクトの追加時に、1.1.1 のカスタムバージョンが指定されました。
    • これはレジストリーに追加された 4 つ目のアーティファクトであるため、グローバル ID とコンテンツ ID の値は 4 になります。
  3. API パスでアーティファクト ID とバージョンを使用して、レジストリーからアーティファクトコンテンツを取得します。この例では、指定された ID は my-share-price であり、バージョンは 1.1.1 です。

    $ curl -H "Authorization: Bearer $ACCESS_TOKEN" \
        MY-REGISTRY-URL/apis/registry/v3/groups/my-group/artifacts/my-share-price/versions/1.1.1/content
    {"type":"record","name":"price","namespace":"com.example",
      "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る