您可以列出项目中的特定架构注册表或上下文中的主题。
本文档介绍了如何使用Google Cloud 控制台或 Managed Kafka API 列出正文。
所需的角色和权限
如需获得列出主题所需的权限,请让您的管理员为您授予架构注册表或上下文的 Managed Kafka Schema Registry Viewer (roles/managedkafka.schemaRegistryViewer) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含列出主题所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
列出主题需要以下权限:
-
在父架构注册表或上下文上授予以下权限:
managedkafka.googleapis.com/subjects.list
如需详细了解预定义角色,请参阅 Managed Service for Apache Kafka 预定义角色。
列出架构注册表中的主题
如需列出项目中的特定架构注册表或上下文中的所有主题,请按以下步骤操作。
控制台
在 Google Cloud 控制台中,前往架构注册表页面。
点击要查看其详细信息的架构注册表的名称。
在架构注册表详情页面中,主题列在此架构注册表中的主题下方。
可选:如需过滤显示哪些科目,请点击 过滤。您可以按以下属性进行过滤:
- 名称
- 上下文
- 是否已软删除(是/否)
可选:如需显示或隐藏列,请点击 列显示选项,然后选择要显示或隐藏的列。
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 方法文档。