建立結構定義登錄

結構定義儲存庫是用來管理 Kafka 生產者和消費者使用的結構定義。

本文說明如何使用Google Cloud 控制台、Google Cloud CLI 或 Managed Kafka API,在 Managed Service for Apache Kafka 中建立結構定義登錄資源。

事前準備

建立結構定義登錄檔之前,請先完成下列步驟:

必要角色和權限

如要取得建立結構定義儲存庫所需的權限,請要求管理員授予您專案的 Managed Kafka 結構定義儲存庫編輯者 (roles/managedkafka.schemaRegistryEditor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立結構定義登錄所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立結構定義登錄,必須具備下列權限:

  • 在父項位置授予這項權限: managedkafka.schemaRegistries.create

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

您也可以使用「Managed Kafka Schema Registry Admin」等較高層級的角色,建立及管理結構定義儲存庫。

如要進一步瞭解 Managed Service for Apache Kafka 適用的預先定義角色,請參閱存取權控管說明文件

建立結構定義登錄

控制台

  1. 前往 Google Cloud 控制台的「Schema registries」頁面。

    前往結構定義登錄

    「結構定義登錄」頁面隨即開啟。

  2. 在「Schema registries」(結構定義登錄) 頁面中,按一下「Create」(建立)

    「Create Schema registry」(建立結構定義登錄) 頁面隨即開啟。

  3. 在「Schema registry name」(架構登錄名稱) 中,輸入登錄的專屬 ID。

    名稱開頭須為英文字母,只能包含英文字母 (a-z、A-Z)、數字 (0-9) 和底線 (_),且不得超過 63 個字元。

  4. 從選單中選取或輸入「區域」

    您必須在指定區域中,擁有一個或多個有效的 Managed Service for Apache Kafka 叢集。如要查看叢集所屬的地區,請參閱列出叢集的說明文件。

    如需支援的位置清單,請參閱「Managed Service for Apache Kafka 位置」。

  5. 點選「建立」

gcloud

  1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

    gcloud init

    若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 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 (必填):新結構定義登錄的專屬 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

    指令順利執行完畢後,系統就會建立結構定義登錄。接著,您可以設定 Kafka 用戶端來使用該網址。如要查看結構定義登錄網址,請參閱「 結構定義登錄頁面詳細資料」。

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 (必填):新結構定義登錄的專屬 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® 是 The Apache Software Foundation 或其關聯企業在美國與/或其他國家/地區的註冊商標。

後續步驟