列出主题版本

您可以列出项目内特定架构注册表中主题的版本。

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

所需的角色和权限

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

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

所需权限

如需列出主题版本,您需要具备以下权限:

  • 在父正文上授予以下权限: managedkafka.versions.list

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

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

列出主题中的架构版本

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

控制台

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

    前往架构注册表

  2. 点击主题所在的架构注册表的名称。

  3. 此架构注册表中的主题下,点击主题的名称。

  4. 主题详细信息页面中,架构版本会列在所有版本下。

  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® 是 Apache Software Foundation 或其关联公司在美国和/或其他国家/地区的注册商标。