列出主體版本

您可以列出專案中特定結構定義登錄檔內的主題版本。

本文將說明如何使用Google Cloud 控制台或 Managed Kafka API 列出主體版本。

必要角色和權限

如要取得列出主體版本的權限,請要求管理員授予您結構定義註冊資料庫的「Managed Kafka Schema Registry Viewer」 (roles/managedkafka.schemaRegistryViewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備列出主體版本所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要列出主體版本,必須具備下列權限:

  • 在父項主體上授予下列權限: managedkafka.versions.list

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

如要進一步瞭解預先定義的角色,請參閱「Managed Service for Apache Kafka 預先定義的角色」。

列出主體中的結構定義版本

如要列出專案中特定結構定義登錄中的所有主體版本,請按照下列步驟操作。

控制台

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

    前往「結構定義登錄」頁面

  2. 按一下主體所在的結構定義登錄名稱。

  3. 在「Subjects in this schema registry」(這個結構定義儲存庫中的主體) 下方,按一下主體名稱。

  4. 在「Subject details」(主體詳細資料) 頁面中,結構定義版本會列在「All Versions」(所有版本) 下方。

  5. 選用:如要查看版本的結構定義,請勾選版本 ID 的核取方塊。結構定義會顯示在「定義」下方。

  6. 選用:如要查看這個主題的任意兩個結構定義版本之間的差異,請按照下列步驟操作:

    1. 在「所有版本」下方,選取要比較的版本。
    2. 在「定義」區域中,按一下 「查看差異」

    兩個結構定義會並排顯示,並醒目顯示新增、刪除和變更的項目。

REST

要求必須使用 Authorization 標頭中的存取權杖進行驗證。如要取得目前應用程式預設憑證的存取權杖,請執行:gcloud auth application-default print-access-token

如要列出主體版本,請對 projects.locations.schemaRegistries.subjects.versions.list 方法發出 GET 要求。

GET https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions
Authorization: Bearer $(gcloud auth application-default print-access-token)

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • LOCATION:架構登錄檔所在的 Google Cloud 區域。
  • REGISTRY_ID:結構定義登錄檔的 ID。
  • SUBJECT_ID:主體的 ID。

範例:

GET https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/subjects/test_subject/versions
Authorization: Bearer $(gcloud auth application-default print-access-token)

或使用背景資訊:

GET https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/contexts/test_context/subjects/test_subject/versions
Authorization: Bearer $(gcloud auth application-default print-access-token)

其中:

  • test-project 是您的 Google Cloud 專案 ID。
  • us-central1 是 Google Cloud 架構登錄所在的地區。
  • test_registry 是結構定義登錄的 ID。
  • test_context 是內容的 ID。
  • test_subject 是主體的 ID。

如果要求成功,API 會傳回 200 OK 狀態碼。回應主體包含主體版本的 JSON 陣列。

以下是成功回應的範例:

{
  "versions": [
    {
      "name": "projects/test-project/locations/us-central1/schemaRegistries/test_registry/subjects/test_subject/versions/1",
      "revisionId": "1a2b3c4d",
      "schemaId": "S12345",
      "createTime": "2024-07-15T12:00:00Z",
      "revisionCreateTime": "2024-07-15T12:00:00Z"
    },
    {
      "name": "projects/test-project/locations/us-central1/schemaRegistries/test_registry/subjects/test_subject/versions/2",
      "revisionId": "5e6f7g8h",
      "schemaId": "S67890",
      "createTime": "2024-07-16T14:30:00Z",
      "revisionCreateTime": "2024-07-16T14:30:00Z"
    }
  ]
}

詳情請參閱 projects.locations.schemaRegistries.subjects.versions.list 方法的說明文件。

後續步驟

Apache Kafka® 是 The Apache Software Foundation 或其關聯企業在美國與/或其他國家/地區的註冊商標。