您可以列出專案中特定結構定義登錄或環境中的主體。
本文說明如何使用Google Cloud 控制台或 Managed Kafka API 列出主體。
必要角色和權限
如要取得列出主體所需的權限,請要求管理員在您的結構定義登錄或環境中,授予您「Managed Kafka Schema Registry Viewer」(代管 Kafka 結構定義登錄檢視者) (roles/managedkafka.schemaRegistryViewer) IAM 角色。 如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備列出主體所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要列出主體,必須具備下列權限:
-
在父項結構定義登錄或環境中授予下列權限:
managedkafka.googleapis.com/subjects.list
如要進一步瞭解預先定義的角色,請參閱「Managed Service for Apache Kafka 預先定義的角色」。
列出結構定義登錄中的主體
如要列出專案中特定結構定義登錄或環境的所有主體,請按照下列步驟操作。
控制台
前往 Google Cloud 控制台的「Schema registries」頁面。
按一下要查看詳細資料的結構定義登錄名稱。
在「結構定義登錄詳細資料」頁面中,主體會列在「這個結構定義登錄中的主體」下方。
選用:如要篩選顯示的主題,請按一下「篩選器」。您可以依下列屬性篩選:
- 名稱
- 背景資訊
- 是否虛刪除 (是/否)
選用:如要顯示或隱藏資料欄,請按一下「資料欄顯示選項」,然後選取要顯示或隱藏的資料欄。
REST
要求必須使用 Authorization 標頭中的存取權杖進行驗證。如要取得目前應用程式預設憑證的存取權杖,請執行:gcloud auth application-default print-access-token。
如要列出架構登錄檔直接管理的受試者,請使用預設環境的 projects.locations.schemaRegistries.schemas.subjects.list 方法,對特定 URI 發出 GET 要求。
GET https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects
Authorization: Bearer $(gcloud auth application-default print-access-token)
如要列出結構定義登錄中某個背景資訊下的主體,請使用 projects.locations.schemaRegistries.contexts.schemas.subjects.list 方法,對特定 URI 提出 GET 要求:
GET https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects?subjectPrefix=SUBJECT_PREFIX
Authorization: Bearer $(gcloud auth application-default print-access-token)
更改下列內容:
PROJECT_ID (必填):您的 Google Cloud專案 ID。
LOCATION (必要):結構定義登錄所在的 Google Cloud 區域。
REGISTRY_ID (必填):架構登錄檔的 ID。
CONTEXT_ID (選用):情境的 ID (如要列出情境中的主題)。
SUBJECT_PREFIX (選用):用來篩選主體的環境,格式為
:.{context}:。如未設定,系統會傳回登錄中的所有主體。如果設為空字串,則會列出預設環境中的主體。
如果要求成功,API 會傳回 200 OK 狀態碼。回應主體包含主體名稱的 JSON 陣列。
以下是預設環境中,JSON 陣列內主體的成功回應範例:
[
"orders-topic-key",
"orders-topic-value",
"user-profile-event"
]
非預設環境中的主體會以 :.context:subject 格式傳回。
詳情請參閱 projects.locations.schemaRegistries.contexts.schemas.subjects/list 方法的說明文件。