本文档介绍如何创建、删除和管理 Pub/Sub 主题和订阅。如需详细了解如何发布和访问消息数据,请参阅发布者指南和订阅者概览。
管理主题
您可以使用 API、Google Cloud Console 或 gcloud
命令行工具来创建、删除和查看主题。如需查看 Pub/Sub API gcloud
命令的完整列表,请参阅 gcloud pubsub
参考文档。
如需查看 Cloud Console 简介,请参阅 Cloud Console 快速入门。
创建主题时,您还可以指定自己的加密密钥。请参阅使用 CMEK(客户管理的加密密钥)。
创建主题
您必须先创建一个主题,然后才能向其发布消息或订阅该主题。 以下示例说明了如何创建主题:
gcloud
gcloud pubsub topics create TOPIC_ID
REST
请求:
必须使用 Authorization
标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token
。
PUT https://pubsub.googleapis.com/v1/projects/myproject/topics/mytopic Authorization: Bearer ACCESS_TOKEN
响应:
200 OK
{ "name": "projects/myproject/topics/mytopic" }
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
删除主题
以下示例说明了如何删除主题:
gcloud
gcloud pubsub topics delete TOPIC_ID
REST
请求:
必须使用 Authorization
标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token
。
DELETE https://pubsub.googleapis.com/v1/projects/myproject/topics/mytopic Authorization: Bearer ACCESS_TOKEN
响应:
200 OK
{ "name": "projects/myproject/topics/mytopic" }
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
当您删除某主题时,其订阅不会被删除,订阅的积压消息仍可供订阅者使用。在主题被删除后,其订阅的主题名称为 _deleted-topic_
。如果您尝试创建与刚删除的主题名称相同的主题,则在删除后的短时间内会出现错误。
列出主题
以下示例说明了如何获取主题列表:
gcloud
gcloud pubsub topics list
REST
请求:
必须使用 Authorization
标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token
。
GET https://pubsub.googleapis.com/v1/projects/myproject/topics Authorization: Bearer ACCESS_TOKEN
响应:
200 OK
{ "topics": [ { "name": "projects/myproject/topics/mytopic1" }, { "name": "projects/myproject/topics/mytopic2" } ] }
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
默认情况下,每个查询最多返回 100 个结果。 您可以使用页面大小参数指定一个其他值(最高 1000)。
分离订阅
创建订阅时,您将订阅附加到主题,然后订阅者可以接收来自订阅的消息。如需阻止订阅者接收消息,您可以分离对主题的订阅。
在分离订阅之前,您需要对该主题的 pubsub.topics.detachSubscription
权限。您可以在没有订阅权限的情况下分离订阅,这有助于管理与订阅处于不同项目中的主题。如需了解详情,请参阅 Pub/Sub 访问权限控制。
您可以使用 Cloud Console、gcloud
命令行工具或 Pub/Sub API 分离对主题的订阅。
控制台
要分离订阅,请按以下步骤操作:
- 在 Cloud Console 中,转到主题页面。
- 点击主题 ID。
- 在订阅标签页中,点击要分离的订阅的订阅 ID。
- 在订阅详情页面中,点击分离。
- 在显示的对话框中,再次点击分离。
gcloud
如需分离订阅,请使用 gcloud pubsub topics detach-subscription
命令:
gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
如果请求成功,命令行会显示一条确认消息:
Detached subscription [SUBSCRIPTION_ID].
REST
如需分离订阅,请发送如下请求:
POST https://pubsub.googleapis.com/v1/subscriptions/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer $(gcloud auth application-default print-access-token)
如果请求成功,响应将为空的 JSON 对象。
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
Pub/Sub 服务可能需要几分钟才能完成对主题的订阅分离。
Pub/Sub 服务将订阅与主题分离后,Pub/Sub 服务会删除它为订阅保留的所有消息。您不能从订阅中检索这些消息,也无法将订阅重新附加到主题。如需释放 Cloud 项目配额,请删除订阅。
如果订阅和主题处于不同的 Cloud 项目中,Pub/Sub 服务会为这两个项目的审核日志添加一个条目。
管理订阅
本节介绍如何管理推送订阅和拉取订阅。如需查看拉取订阅和推送订阅的概览和比较,请参阅订阅者概览。
您必须先为主题创建一个订阅,订阅者才能接收发布到该订阅的消息。
创建订阅
创建订阅时,您需要将主题附加到订阅。订阅者会收到发布者向该主题发送的消息。
您可以使用 Cloud Console、gcloud
命令行工具或 Pub/Sub API 创建订阅。
控制台
要创建订阅,请完成以下步骤。
- 在 Cloud Console 中,转到订阅页面。
- 点击创建订阅。
- 输入订阅 ID。
- 从下拉菜单中选择或创建一个主题。订阅将接收来自该主题的消息。
- 点击创建。
您还可以通过主题部分创建订阅。此快捷方式可帮助您将主题与订阅关联。
- 在 Cloud Console 中,转到主题页面。
- 点击要创建订阅的主题旁边的 more_vert。
- 从上下文菜单中,选择创建订阅。
- 从下拉菜单中选择或创建一个主题。订阅将接收来自该主题的消息。
- 输入订阅 ID。
- 点击创建。
gcloud
要创建订阅,请运行 gcloud pubsub subscriptions create
命令。
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ [--ack-deadline=ACK_DEADLINE] \ [--dead-letter-topic=DEAD_LETTER_TOPIC_ID \ --dead-letter-topic-project=DEAD_LETTER_TOPIC_PROJECT_ID \ [--expiration-period=EXPIRATION_PERIOD] \ --max-delivery-attempts=MAX_DELIVERY_ATTEMPTS] \ [--message-filter=FILTER] [--message-retention-duration=MESSAGE_RETENTION_DURATION] \ [--max-retry-delay=MAX_RETRY_DELAY] \ [--min-retry-delay=MIN_RETRY_DELAY] \ [--push-endpoint=PUSH_ENDPOINT]
REST
请求:
必须使用 Authorization
标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token。
PUT https://pubsub.googleapis.com/v1/projects/myproject/subscriptions/mysubscription Authorization: Bearer ACCESS_TOKEN
在请求正文中指定以下字段:
{ "topic": "projects/someproject/topics/sometopic" // Only needed if you are using push delivery "pushConfig": { "pushEndpoint": "https://myproject.appspot.com/myhandler" } }
响应:
200 OK
{ "name": "projects/myproject/subscriptions/mysubscription", "topic": "projects/someproject/topics/sometopic", "pushConfig": { "pushEndpoint": "https://myproject.appspot.com/myhandler" }, "ackDeadlineSeconds": 10 }
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
以下示例演示了创建使用推送传送的订阅。默认情况下,订阅使用拉取传送。
C++
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
使用订阅属性
您可以在创建或更新订阅时设置订阅属性。
如需详细了解如何使用 gcloud
命令行工具设置订阅属性,请参阅 gcloud pubsub subscriptions create
或 gcloud pubsub subscriptions update
可选标志。
订阅具有以下属性:
属性 | 说明 | 默认 |
---|---|---|
交付方式 |
您可以通过拉取或推送传送方式接收消息。在拉取传送模式下,订阅者应用向 Pub/Sub 服务器发起请求来检索消息。在推送传送模式下,Pub/Sub 向订阅者应用发起请求来传送消息。 |
如果未指定,Pub/Sub 订阅使用拉取传送。 |
确认截止期限 |
如果您的代码在截止时间前没有确认消息,则系统会再次发送消息。 |
10 秒是默认的确认截止时间。最长为 10 分钟。 |
消息保留时长 |
消息保留时长指定 Pub/Sub 在发布后保留消息的时间。超过消息保留时长之后,Pub/Sub 可以随意舍弃消息,无论其确认状态为何。 如需保留已确认的消息,请参阅重放和舍弃消息。 |
7 天是默认的消息保留时长。最小值为 10 分钟,最大值为 7 天。 |
死信主题 |
如果订阅者无法确认消息,则 Pub/Sub 可以将消息转发到死信主题。如需了解详情,请参阅转发到死信主题。 如果您设置死信主题,则无法启用消息排序。 |
如果设置了死信主题,还可以指定传送尝试次数上限。默认为 5 次传送尝试;您可以将传送尝试次数指定在 5 至 100 次之间。 如果您设置了死信主题,并且该主题位于与订阅不同的项目中,那么您还必须指定具有死信主题的项目 ID。 |
有效期 |
如果没有订阅者活动(例如打开连接、主动拉取或成功推送),则订阅会过期。如果 Pub/Sub 检测到订阅者活动,则订阅删除时钟会重启。 |
默认有效期是 31 天。最小值为 1 天 要阻止订阅过期,请将有效期设置为 |
重试政策 |
如果确认截止时间到期或订阅者返回否定确认,则 Pub/Sub 可以使用指数退避算法发送消息。 |
如果未设置重试政策,Pub/Sub 会在确认截止时间到期或订阅者做出否定确认响应时重新发送消息。 如果设置了最大退避时间,则默认的最小退避时长为 10 秒。如果设置了最小退避时间,则默认最大退避时长为 600 秒。 可指定的最长退避时长为 600 秒。 |
消息排序 |
如果未设置消息排序,则 Pub/Sub 不会按顺序传送消息,包括具有排序键的消息。 |
|
过滤条件 |
过滤条件是包含过滤表达式的字符串。如果某个订阅具有过滤条件,则该订阅将仅传递与过滤条件匹配的消息。您可以按消息的属性过滤消息。 |
如果未指定,则订阅不会过滤消息,并且订阅者会收到所有消息。 |
使用重试政策
当订阅有重试政策,Pub/Sub 会在您指定的退避时限过后重新发送未确认的消息。Pub/Sub 会尽最大努力在退避时限后重新发送消息,因此消息可能会在最短退避时限前收到消息。
如果消息采用批处理,则在发生以下任一情况时,Pub/Sub 会启动指数退避算法:
- 订阅者为批次中的每条消息发送否定确认。
- 确认截止时间到期。
在退避时限过后,Pub/Sub 会重新提交该批次。
如果收到推送订阅消息,Pub/Sub 可能会在推送退避时限(而非指数退避时限)后传送消息。当推送退避时间超过指数退避时限时,Pub/Sub 会在推送退避后重新提交未确认的消息。
修改传送方式
您可以使用 Cloud Console、gcloud
命令行工具或 Pub/Sub API 在推送订阅和拉取订阅之间切换。
控制台
要修改推送订阅,请完成以下步骤。
- 在 Cloud Console 中,转到订阅页面。
- 点击订阅旁边的 more_vert 进行更新。
- 在传送类型中,选择拉取或推送。
- 点击更新。
gcloud
要修改推送端点网址,请运行 modify-push-config
命令:
gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
如果订阅已使用拉取传送,则设置推送端点会将传送方式切换为推送传送。
您可以通过将推送端点更改为空字符串来将推送切换为拉取。
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
列出订阅
您可以使用 Cloud Console、gcloud
命令行工具或 Pub/Sub API 在 Google Cloud 项目中列出订阅。
控制台
要列出项目中的订阅,请转到订阅页面。
gcloud
要列出 Google Cloud 项目中的订阅,请运行 gcloud pubsub subscriptions list
命令:
gcloud pubsub subscriptions list [--project=PROJECT_ID]
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
您可以使用 Cloud Console、gcloud
命令行工具或 Pub/Sub API 列出主题的订阅。
控制台
- 在 Cloud Console 中,转到主题页面。
- 选择主题 ID 以打开主题详细信息页面。页面的订阅部分包含对主题的订阅列表。
gcloud
要列出 Google Cloud 项目中的订阅,请运行 gcloud pubsub topics list-subscriptions
命令:
gcloud pubsub topics list-subscriptions TOPIC_ID
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
删除订阅
您可以使用 Cloud Console、gcloud
命令行工具或 Pub/Sub API 删除订阅。
控制台
- 在 Cloud Console 中,转到订阅页面。
- 选择要删除的订阅。
- 点击删除。
gcloud
要删除订阅,请运行 gcloud pubsub subscriptions delete
命令:
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
C++
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
C#
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 C# 设置说明执行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
Go
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Go 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Node.js
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
PHP
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 PHP 设置说明执行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
Python
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Python 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Ruby
在尝试此示例之前,请按照《Pub/Sub 快速入门:使用客户端库》中的 Ruby 设置说明执行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
资源名称
Pub/Sub 资源名称唯一标识 Pub/Sub 资源(例如订阅或主题),并且必须符合以下格式:
projects/project-identifier/collection/relative-name
project-identifier 必须是从 Google Cloud Console 获得的项目 ID。例如 projects/myproject/topics/mytopic
。
collection 必须是 subscriptions
或 topics
。
resource-name 必须满足以下条件:
- 不以字符串
goog
开头。 - 以字母开头
- 包含 3 到 255 个字符
仅包含以下字符:
- 字母:
[A-Za-z]
- 数字:
[0-9]
- 短划线:
-
- 下划线:
_
- 英文句点:
.
- 波形符:
~
- 加号:
+
百分号:
%
上述列表中的特殊字符可用于没有网址编码的资源名称。不过,在网址中使用任何其他特殊字符时,您必须确保对这些字符正确进行编码/解码。例如,
mi-tópico
是无效的 relative-name,而mi-t%C3%B3pico
是有效的。这对于 REST 调用尤为重要。
- 字母: