Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kenzo0107/2d43964132495fda562a8d987ebb4045 to your computer and use it in GitHub Desktop.
Save kenzo0107/2d43964132495fda562a8d987ebb4045 to your computer and use it in GitHub Desktop.

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:スキーマ管理 クイックスタート

Confluent Cloud では、環境ごとに 1 つの Schema Registry を利用可能で、ポート 443 経由でアクセスします。Kafka トピックにスキーマを関連付けることで、スキーマの登録や編集が可能です。(Confluent Docs)


はじめに

  • Confluent Cloud 試用登録 により、$400 の無料クレジットを獲得できます。(Confluent Docs)
  • ネットワーク構成が、Schema Registry の パブリックエンドポイント(ポート 443)と通信可能である必要があります。(Confluent Docs)
  • このクイックスタートは、Confluent CLICloud コンソール の両方を使用する前提です。(Confluent Docs)

ステップ1:Cloud コンソールにサインイン

Confluent Cloud にログインします(https://confluent.cloud)。 (Confluent Docs)

ステップ2:環境を追加

  1. 左側メニューの「Environments」を選び、「Add cloud environment」から新しい環境を作成。

  2. 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)
  3. Kafka クラスターを作成します。この時点で Schema Registry クラスターも同リージョンに自動配置されます。配置のリージョンは固定となり、後に変更されません。(Confluent Docs)


ステップ3:Schema Registry 用 API キーの作成

  1. 環境メニューの「API Keys」から、新規キーを作成。
  2. スキーマレジストリ専用のキーを作成する必要があります。Kafka クラスター用のキーとは別です。(Confluent Docs)

ステップ4:トピックの作成

  1. 対象環境とクラスタを選択。
  2. 左側メニューから「Topics」→「Add topic」で、employees などのトピックを作成。(Confluent Docs)

ステップ5:スキーマの作成(CLI 使用例)

下記の手順で CLI から Avro スキーマを登録します:

  1. employees.json を以下の内容で作成:

    {
      "type": "record",
      "namespace": "Example",
      "name": "Employee",
      "fields": [
        { "name": "Name", "type": "string" },
        { "name": "Age", "type": "int" }
      ]
    }
  2. CLI でスキーマを作成:

    confluent schema-registry schema create \
      --subject employees-value \
      --schema employees.json \
      --type avro
  3. 成功するとスキーマ ID(例:100001)が返されます。(Confluent Docs)

UI 上でも「Data contracts」タブから、スキーマの貼り付け・保存が可能です。(Confluent Docs)


ステップ6:トピックに紐づくスキーマを確認

Cloud コンソールから employees トピックの Data contracts タブを開くと、登録されたスキーマを閲覧可能です。ツリー表示やコード表示で確認できます。(Confluent Docs)


ステップ7:環境単位でのスキーマ管理設定

  • 左メニューの「Schema Registry」より、すべてのスキーマ一覧の表示・検索・一覧化が可能。
  • 各スキーマの詳細確認やバージョン履歴、互換性設定、スキーマの複製・削除なども実施できます。(Confluent Docs)
  • 互換性設定(Compatibility mode)は、環境全体または個別のサブジェクト(Subject)単位で設定可能です。後者が優先されます。(Confluent Docs)

ステップ8:curl による REST API 利用例

# 登録済サブジェクトの一覧取得
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/100001

API 経由でスキーマを確認・操作することが可能です。(Confluent Docs)


おわりに

これで基本的な Schema Registry の利用フロー(環境作成 → スキーマ登録 → 管理・確認)が完了です。

さらに学びたい場合は、以下のドキュメントもおすすめです:

  • 「Manage Schemas in Confluent Cloud」
  • Schema Registry の互換性や REST API 詳細
  • Stream Governance、Data Contracts に関する情報(Confluent Docs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment