スキーマ レジストリは、Kafka のプロデューサーとコンシューマーで使用されるスキーマを管理するリポジトリです。
このドキュメントでは、Google Cloud コンソール、Google Cloud CLI、または Managed Kafka API を使用して、Managed Service for Apache Kafka 内にスキーマ レジストリ リソースを作成する方法について説明します。
始める前に
スキーマ レジストリを作成する前に、次の操作を行います。
- スキーマ レジストリを作成する予定のリージョンに、Managed Service for Apache Kafka クラスタを作成します。
必要なロールと権限
スキーマ レジストリの作成に必要な権限を取得するには、プロジェクトに対する Managed Kafka スキーマ レジストリ編集者 (roles/managedkafka.schemaRegistryEditor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、スキーマ レジストリの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
スキーマ レジストリを作成するには、次の権限が必要です。
-
親ロケーションにこの権限を付与します。
managedkafka.schemaRegistries.create
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Managed Kafka Schema Registry 管理者などの上位レベルのロールでは、スキーマ レジストリの作成と管理もできます。
Managed Service for Apache Kafka で使用できる事前定義ロールの詳細については、アクセス制御のドキュメントをご覧ください。
スキーマ レジストリを作成する
コンソール
- Google Cloud コンソールで、[スキーマ レジストリ] ページに移動します。
[スキーマ レジストリ] ページが開きます。
- [スキーマ レジストリ] ページで、[作成] をクリックします。
[スキーマ レジストリの作成] ページが開きます。
- [スキーマ レジストリ名] に、レジストリの一意の識別子を入力します。
名前は英字で始まり、英字(a ~ z、A ~ Z)、数字(0 ~ 9)、アンダースコア(_)のみを含み、63 文字以下にする必要があります。
- メニューから [リージョン] を選択するか、入力します。
指定したリージョンに、1 つ以上の有効な Managed Service for Apache Kafka クラスタがすでに存在している必要があります。クラスタのリージョンを確認するには、クラスタのリストを取得するに関するドキュメントをご覧ください。
サポートされているロケーションの一覧については、Managed Service for Apache Kafka のロケーションをご覧ください。
- [作成] をクリックします。
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
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 を使用してスキーマ レジストリ インスタンスを作成する手順は次のとおりです。
- 次のような
POSTリクエストを送信します。 - 次の構造の JSON ファイル
request-body.jsonを作成します。 - SCHEMA_REGISTRY_ID(必須): 新しいスキーマ レジストリの固有識別子。これは、レジストリのリソース名の一部を構成します。名前は英字で始まり、英字(a ~ z、A ~ Z)、数字(0 ~ 9)、アンダースコア(_)のみを含み、63 文字以下にする必要があります。
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
{ "schemaRegistryId": "SCHEMA_REGISTRY_ID" }
次のように置き換えます。
作成した 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 のドキュメントをご覧ください。