列出主题

您可以列出项目中的特定架构注册表或上下文中的主题。

本文档介绍了如何使用Google Cloud 控制台或 Managed Kafka API 列出正文。

所需的角色和权限

如需获得列出主题所需的权限,请让您的管理员为您授予架构注册表或上下文的 Managed Kafka Schema Registry Viewer (roles/managedkafka.schemaRegistryViewer) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含列出主题所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

列出主题需要以下权限:

  • 在父架构注册表或上下文上授予以下权限: managedkafka.googleapis.com/subjects.list

您也可以使用自定义角色或其他预定义角色来获取这些权限。

如需详细了解预定义角色,请参阅 Managed Service for Apache Kafka 预定义角色

列出架构注册表中的主题

如需列出项目中的特定架构注册表或上下文中的所有主题,请按以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,前往架构注册表页面。

    前往架构注册表

  2. 点击要查看其详细信息的架构注册表的名称。

  3. 架构注册表详情页面中,主题列在此架构注册表中的主题下方。

  4. 可选:如需过滤显示哪些科目,请点击 过滤。您可以按以下属性进行过滤:

    • 名称
    • 上下文
    • 是否已软删除(是/否)
  5. 可选:如需显示或隐藏列,请点击 列显示选项,然后选择要显示或隐藏的列。

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 方法文档。

后续步骤

Apache Kafka® 是 Apache Software Foundation 或其关联公司在美国和/或其他国家/地区的注册商标。