建立結構定義登錄

結構定義儲存庫是用來管理 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

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

建立結構定義登錄

控制台

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

    前往結構定義登錄

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

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

    「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 或其關聯企業在美國與/或其他國家/地區的註冊商標。

後續步驟