https://docs.confluent.io/cloud/current/get-started/schema-registry.html
以下は、Confluent の公式ドキュメント「Quick Start for Schema Management on Confluent Cloud(Confluent Cloud におけるスキーマ管理のクイックスタート)」を日本語に和訳し、Markdown形式でまとめた内容です。
Confluent Cloud では、環境ごとに 1 つの Schema Registry を利用可能で、ポート 443 経由でアクセスします。Kafka トピックにスキーマを関連付けることで、スキーマの登録や編集が可能です。(Confluent Docs)
- Confluent Cloud 試用登録 により、$400 の無料クレジットを獲得できます。(Confluent Docs)
- ネットワーク構成が、Schema Registry の パブリックエンドポイント(ポート 443)と通信可能である必要があります。(Confluent Docs)
- このクイックスタートは、Confluent CLI と Cloud コンソール の両方を使用する前提です。(Confluent Docs)
Confluent Cloud にログインします(https://confluent.cloud)。 (Confluent Docs)
-
左側メニューの「Environments」を選び、「Add cloud environment」から新しい環境を作成。
-
Stream Governance パッケージを選択:
- Essentials(無料):Schema Registry(100 スキーマまで無料)、Stream Catalog、タグ付け、UI/REST API、stream lineage の基本機能。100 スキーマ超過後は 1 スキーマあたり $0.002/時間。
- Advanced($1/時間〜):Essentials の機能に加え、20,000 スキーマを含む SLA 99.99%、ビジネスメタデータ、GraphQL、Data Contracts などのエンタープライズ機能を提供。(Confluent Docs)
-
Kafka クラスターを作成します。この時点で Schema Registry クラスターも同リージョンに自動配置されます。配置のリージョンは固定となり、後に変更されません。(Confluent Docs)
- 環境メニューの「API Keys」から、新規キーを作成。
- スキーマレジストリ専用のキーを作成する必要があります。Kafka クラスター用のキーとは別です。(Confluent Docs)
- 対象環境とクラスタを選択。
- 左側メニューから「Topics」→「Add topic」で、
employeesなどのトピックを作成。(Confluent Docs)
下記の手順で CLI から Avro スキーマを登録します:
-
employees.jsonを以下の内容で作成:{ "type": "record", "namespace": "Example", "name": "Employee", "fields": [ { "name": "Name", "type": "string" }, { "name": "Age", "type": "int" } ] } -
CLI でスキーマを作成:
confluent schema-registry schema create \ --subject employees-value \ --schema employees.json \ --type avro
-
成功するとスキーマ ID(例:100001)が返されます。(Confluent Docs)
UI 上でも「Data contracts」タブから、スキーマの貼り付け・保存が可能です。(Confluent Docs)
Cloud コンソールから employees トピックの Data contracts タブを開くと、登録されたスキーマを閲覧可能です。ツリー表示やコード表示で確認できます。(Confluent Docs)
- 左メニューの「Schema Registry」より、すべてのスキーマ一覧の表示・検索・一覧化が可能。
- 各スキーマの詳細確認やバージョン履歴、互換性設定、スキーマの複製・削除なども実施できます。(Confluent Docs)
- 互換性設定(Compatibility mode)は、環境全体または個別のサブジェクト(Subject)単位で設定可能です。後者が優先されます。(Confluent Docs)
# 登録済サブジェクトの一覧取得
curl -u <API_KEY>:<API_SECRET> $SR_URL/subjects
# 特定 Subject の最新スキーマ取得
curl -u <API_KEY>:<API_SECRET> $SR_URL/subjects/employees-value/versions/latest
# スキーマ ID による取得
curl -u <API_KEY>:<API_SECRET> $SR_URL/schemas/ids/100001API 経由でスキーマを確認・操作することが可能です。(Confluent Docs)
これで基本的な Schema Registry の利用フロー(環境作成 → スキーマ登録 → 管理・確認)が完了です。
さらに学びたい場合は、以下のドキュメントもおすすめです:
- 「Manage Schemas in Confluent Cloud」
- Schema Registry の互換性や REST API 詳細
- Stream Governance、Data Contracts に関する情報(Confluent Docs)