スキーマ レジストリを作成する

スキーマ レジストリは、Kafka のプロデューサーとコンシューマーで使用されるスキーマを管理するリポジトリです。

このドキュメントでは、Google Cloud コンソール、Google Cloud CLI、または Managed Kafka API を使用して、Managed Service for Apache Kafka 内にスキーマ レジストリ リソースを作成する方法について説明します。

始める前に

スキーマ レジストリを作成する前に、次の操作を行います。

必要なロールと権限

スキーマ レジストリの作成に必要な権限を取得するには、プロジェクトに対する Managed Kafka スキーマ レジストリ編集者 roles/managedkafka.schemaRegistryEditor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、スキーマ レジストリの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

スキーマ レジストリを作成するには、次の権限が必要です。

  • 親ロケーションにこの権限を付与します。 managedkafka.schemaRegistries.create

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Managed Kafka Schema Registry 管理者などの上位レベルのロールでは、スキーマ レジストリの作成と管理もできます。

Managed Service for Apache Kafka で使用できる事前定義ロールの詳細については、アクセス制御のドキュメントをご覧ください。

スキーマ レジストリを作成する

コンソール

  1. Google Cloud コンソールで、[スキーマ レジストリ] ページに移動します。

    スキーマ レジストリに移動

    [スキーマ レジストリ] ページが開きます。

  2. [スキーマ レジストリ] ページで、[作成] をクリックします。

    [スキーマ レジストリの作成] ページが開きます。

  3. [スキーマ レジストリ名] に、レジストリの一意の識別子を入力します。

    名前は英字で始まり、英字(a ~ z、A ~ Z)、数字(0 ~ 9)、アンダースコア(_)のみを含み、63 文字以下にする必要があります。

  4. メニューから [リージョン] を選択するか、入力します。

    指定したリージョンに、1 つ以上の有効な Managed Service for Apache Kafka クラスタがすでに存在している必要があります。クラスタのリージョンを確認するには、クラスタのリストを取得するに関するドキュメントをご覧ください。

    サポートされているロケーションの一覧については、Managed Service for Apache Kafka のロケーションをご覧ください。

  5. [作成] をクリックします。

gcloud

  1. Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

    gcloud init

    外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  2. gcloud beta managed-kafka schema-registries create コマンドを使用して、スキーマ レジストリを作成します。

    gcloud beta managed-kafka schema-registries create SCHEMA_REGISTRY_ID \
        --location=LOCATION \

    次のように置き換えます。

    • SCHEMA_REGISTRY_ID(必須): 新しいスキーマ レジストリの固有識別子。これは、レジストリのリソース名の一部を構成します。名前は英字で始まり、英字(a ~ z、A ~ Z)、数字(0 ~ 9)、アンダースコア(_)のみを含み、63 文字以下にする必要があります。
    • LOCATION(必須): スキーマ レジストリが作成される Google Cloud リージョン。このロケーションは、このレジストリを使用する Managed Service for Apache Kafka クラスタのリージョンと一致している必要があります。サポートされているロケーションについては、 Managed Service for Apache Kafka のロケーションをご覧ください。

    us-central1 リージョンに test_schema_registry という名前のスキーマ レジストリを作成するには、次のコマンドを実行します。

    gcloud beta managed-kafka schema-registries create test_schema_registry \
        --location=us-central1

    コマンドが正常に完了すると、スキーマ レジストリが作成されます。次に、その URL を使用するように Kafka クライアントを構成できます。スキーマ レジストリの URL を表示するには、 スキーマ レジストリ ページの詳細をご覧ください。

REST

REST API を使用してスキーマ レジストリ インスタンスを作成する手順は次のとおりです。

  1. 次のような POST リクエストを送信します。
  2. POST https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    Content-Type: application/json --data @response-body.json
    
  3. 次の構造の JSON ファイル request-body.json を作成します。
  4. {
      "schemaRegistryId": "SCHEMA_REGISTRY_ID"
    }

    次のように置き換えます。

    • SCHEMA_REGISTRY_ID(必須): 新しいスキーマ レジストリの固有識別子。これは、レジストリのリソース名の一部を構成します。名前は英字で始まり、英字(a ~ z、A ~ Z)、数字(0 ~ 9)、アンダースコア(_)のみを含み、63 文字以下にする必要があります。

    作成した URI、ヘッダー、本文を使用して POST リクエストを実行します。成功した場合、API は 200 OK ステータス コードと、新しく作成された SchemaRegistry リソースの JSON 表現を含むレスポンスの本文を返します。

    成功したレスポンスの例を次に示します。

    {
      "name": "projects/testing-311516/locations/us-central1/schemaRegistries/test",
      "contexts": [
        "projects/testing-311516/locations/us-central1/schemaRegistries/test/contexts/."
      ]
    }

    projects/testing-311516/locations/us-central1/schemaRegistries/test/contexts/. はデフォルトのコンテキストを表します。デフォルトのコンテキストのリソースでは、コンテキストを指定する必要はありません。

    詳細については、REST API のドキュメントをご覧ください。

Apache Kafka® は、Apache Software Foundation または米国その他の諸国における関連会社の商標です。

次のステップ