您可以使用Google Cloud 控制台、Google Cloud CLI、客户端库或 Pub/Sub API 列出 Google Cloud 项目中的订阅。
准备工作
所需的角色和权限
如需获得列出和管理订阅所需的权限,请让您的管理员为您授予主题或项目的 Pub/Sub Editor (roles/pubsub.editor) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含列出和管理订阅所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需列出和管理订阅,您需要具备以下权限:
-
从订阅中拉取:
pubsub.subscriptions.consume -
创建订阅:
pubsub.subscriptions.create -
删除订阅:
pubsub.subscriptions.delete -
获取订阅:
pubsub.subscriptions.get -
列出订阅:
pubsub.subscriptions.list -
更新订阅:
pubsub.subscriptions.update -
将订阅附加到主题:
pubsub.topics.attachSubscription -
获取订阅的 IAM 政策:
pubsub.subscriptions.getIamPolicy -
为订阅配置 IAM 政策:
pubsub.subscriptions.setIamPolicy
列出订阅
您可以使用Google Cloud 控制台、Google Cloud CLI、客户端库或 Pub/Sub API 列出 Google Cloud 项目中的订阅。
控制台
要列出项目中的订阅,请转到订阅页面。
您订阅的频道会列在该页面上的表格中。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
如需列出 Google Cloud 项目中的订阅,请运行
gcloud pubsub subscriptions list命令:gcloud pubsub subscriptions list [--project=PROJECT_ID]
- PROJECT_ID 是项目 ID。
REST
如需列出项目中的订阅,请使用 projects.subscriptions.list 方法:
请求:
必须使用 Authorization 标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token。
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions Authorization: Bearer ACCESS_TOKEN
其中:
回答:
{
"subscriptions": [
{
"name": "projects/PROJECT_ID/topics/mysubscription1",
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"pushConfig": {},
"ackDeadlineSeconds": 10,
"retainAckedMessages": true,
"messageRetentionDuration": "604800s",
"expirationPolicy": {}
},
{
"name": "projects/PROJECT_ID/topics/mysubscription2",
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"pushConfig": {
"pushEndpoint": "https://PROJECT_ID.appspot.com/myhandler",
"attributes": {
"x-goog-version": "v1"
}
},
"ackDeadlineSeconds": 10,
"retainAckedMessages": true,
"messageRetentionDuration": "604800s",
"expirationPolicy": {}
}
]
}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 参考文档。
列出主题的订阅
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Pub/Sub API 列出对主题的订阅。
控制台
- 在 Google Cloud 控制台中,前往主题页面。
- 选择主题 ID 以打开主题详细信息页面。页面的订阅部分包含对主题的订阅列表。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
如需列出 Google Cloud 项目中的订阅,请运行
gcloud pubsub topics list-subscriptions命令:gcloud pubsub topics list-subscriptions TOPIC_ID
- PROJECT_ID 是项目 ID。
- TOPIC_ID 是主题 ID。
REST
如需列出主题中的订阅,请使用 projects.subscriptions.list 方法:
请求:
必须使用 Authorization 标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token。
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID/subscriptions Authorization: Bearer ACCESS_TOKEN
其中:
回答:
{
"subscriptions": [
"projects/PROJECT_ID/subscriptions/mysubscription1",
"projects/PROJECT_ID/subscriptions/mysubscription2"
]
}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 参考文档。
Python
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
以下示例使用 Ruby Pub/Sub 客户端库 v3。如果您仍在使用 v2 库,请参阅 迁移到 v3 的指南。如需查看 Ruby v2 代码示例的列表,请参阅 已弃用的代码示例。
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Ruby 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。