您可以列出项目内特定架构注册表中主题的版本。
本文档介绍了如何使用Google Cloud 控制台或 Managed Kafka API 列出主题版本。
所需的角色和权限
如需获得列出主题版本所需的权限,请让您的管理员为您授予架构注册表的 Managed Kafka Schema Registry Viewer (roles/managedkafka.schemaRegistryViewer) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含列出主题版本所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需列出主题版本,您需要具备以下权限:
-
在父正文上授予以下权限:
managedkafka.versions.list
如需详细了解预定义角色,请参阅 Managed Service for Apache Kafka 预定义角色。
列出主题中的架构版本
如需列出项目中特定架构注册表中某个主题的所有版本,请按以下步骤操作。
控制台
在 Google Cloud 控制台中,前往架构注册表页面。
点击主题所在的架构注册表的名称。
在此架构注册表中的主题下,点击主题的名称。
在主题详细信息页面中,架构版本会列在所有版本下。
可选:如需查看某个版本的架构定义,请选中相应版本 ID 的复选框。架构定义显示在定义下。
可选:如需查看相应主题的任意两个架构版本之间的差异,请执行以下步骤:
- 在所有版本下,选择要比较的版本。
- 在定义区域,点击 查看差异。
两个架构定义并排显示,并突出显示了添加、删除和更改的内容。
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 方法文档。