本文档介绍如何列出 Pub/Sub 主题。如需列出 主题,您可以使用 Google Cloud 控制台、gcloud CLI、客户端库、 或 Pub/Sub API。
准备工作
所需的角色和权限
如需获得列出主题和管理主题所需的权限,请让您的管理员向您授予主题或项目的 Pub/Sub Editor(roles/pubsub.editor) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含 列出主题和管理主题所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
列出主题和管理主题需要以下权限:
-
创建主题:
pubsub.topics.create -
删除主题:
pubsub.topics.delete -
将订阅与主题分离:
pubsub.topics.detachSubscription -
获取主题:
pubsub.topics.get -
列出主题:
pubsub.topics.list -
发布到主题:
pubsub.topics.publish -
更新主题:
pubsub.topics.update -
获取主题的 IAM 政策:
pubsub.topics.getIamPolicy -
配置主题的 IAM 政策:
pubsub.topics.setIamPolicy
您可以在项目级层和个别资源级层配置访问权限控制。您可以在一个项目中创建订阅,并将其附加到位于另一个项目中的主题。 请确保您拥有每个项目所需的权限。
列出主题
控制台
在 Google Cloud 控制台中,前往 Pub/Sub 主题 页面。
主题 页面会列出所有可用的主题。
默认情况下,控制台会返回 50 个主题。您可以使用每页行数 下拉切换开关将此值增加到最多 200 个主题。 仅当项目中的主题超过 20 个时,此切换开关才会显示在控制台中。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在控制台的底部启动,并显示命令行提示符。 Google Cloud Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟来完成初始化。
-
如需列出主题,请使用
gcloud pubsub topics list命令:gcloud pubsub topics list
默认情况下,每个查询最多返回 100 个结果。
您可以使用页面大小参数指定一个其他值(最高 1000)。
例如,使用 Google Cloud CLI,指定 --page-size=1000。
REST
如需列出主题,请使用
projects.topics.list
方法:
请求:
必须使用
Authorization 标头中的访问令牌对请求进行身份验证。如需获取当前
应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token。
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics Authorization: Bearer ACCESS_TOKEN
其中:
回答:
{
"topics": [
{
"name": "projects/PROJECT_ID/topics/mytopic1",
...
},
{
"name": "projects/PROJECT_ID/topics/mytopic2",
...
}
]
}C++
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅Pub/Sub C# API 参考文档。
Go
以下示例使用 Go Pub/Sub 客户端库的主要版本 (v2)。如果您仍在使用 v1 库,请参阅 迁移到 v2 的指南。 如需查看 v1 代码示例列表,请参阅 已废弃的代码示例。
在尝试此示例之前,请按照 《快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
Node.ts
在尝试此示例之前,请按照 《快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 PHP 设置说明进行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
以下示例使用 Ruby Pub/Sub 客户端库 v3。如果您仍在使用 v2 库,请参阅 迁移到 v3 的指南。 如需查看 Ruby v2 代码示例列表,请参阅 已废弃的代码示例。
在尝试此示例之前,请按照 《快速入门:使用客户端库》中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。