列出主體版本

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

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

必要角色和權限

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

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

所需權限

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

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

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

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

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

控制台

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

    前往「Schema registries」(結構定義登錄) 頁面

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

  3. 在「這個結構定義儲存庫中的主體」下方,按一下主體名稱。

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