利用 Pub/Sub 服务,应用能够可靠、快速地异步交换消息。为了实现此目标,数据的生产者将消息发布到某 Pub/Sub 主题。然后,订阅者客户端创建对该主题的订阅,并处理来自订阅的消息。对于无法可靠地传送的消息,Pub/Sub 会将其最多保留七天。本页面介绍如何开始使用客户端库发布 Pub/Sub 消息。
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
- 设置 Cloud Console 项目。
-
将环境变量
GOOGLE_APPLICATION_CREDENTIALS
设置为包含您的服务帐号密钥的 JSON 文件的路径。 此变量仅适用于当前的 shell 会话,因此,如果您打开新的会话,请重新设置该变量。 - 安装并初始化 Cloud SDK。
安装客户端库
以下示例向您展示了如何安装客户端库:
Python
如需详细了解如何设置 Python 开发环境,请参阅 Python 开发环境设置指南。
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
如需详细了解如何安装 C++ 库,请参阅 GitHub README
。
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get -u cloud.google.com/go/pubsub
Java
如果您使用的是 Maven,请将以下代码添加到您的 pom.xml
文件中。如需详细了解 BOM,请参阅 Google Cloud Platform 库 BOM。
如果您使用的是 Gradle,请将以下代码添加到您的依赖项中:
如果您使用的是 sbt,请将以下代码添加到您的依赖项中:
如果您使用的是 IntelliJ 或 Eclipse,请通过以下 IDE 插件将客户端库添加到您的项目中:
上述插件还提供其他功能,例如服务帐号密钥管理。如需了解详情,请参阅各个插件相应的文档。
Node.js
npm install --save @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
创建主题和订阅
创建主题后,您可以订阅该主题或向其发布消息。
使用 gcloud pubsub topics create 命令创建主题:
gcloud pubsub topics create my-topic
使用 gcloud pubsub subscriptions create 命令创建订阅。订阅者应用只能获取创建订阅后发布到该主题的消息。
gcloud pubsub subscriptions create my-sub --topic my-topic
如需详细了解如何命名您的主题和订阅,请参阅资源名称。
发布消息
在以下示例中,请使用 my-topic
作为主题 ID。
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
接收消息
设置订阅者以拉取您刚刚发布的消息。每个订阅者必须在可配置的时间范围内确认每条消息。未确认的消息将被再次传送。请注意,Pub/Sub 偶尔会将一条消息传送多次,这是为了确保所有消息至少发送到订阅者一次。
在以下示例中,请使用 my-sub
作为订阅 ID。
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
结果怎么样?
清理(可选)
为避免系统因本指南中使用的资源向您的 Google Cloud Platform 帐号收取费用,您可以使用命令行删除主题和订阅。
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
后续步骤
请参阅“什么是 Pub/Sub?”。
如需查看端到端示例,请参阅构建 Pub/Sub 系统。
如需查看其他用例,请参阅 Pub/Sub 教程。
要获取有关所选语言的客户端库的详细信息,请参阅客户端库。