使用客户端库在 Pub/Sub 中发布和接收消息
本页面介绍如何执行以下操作:
使用 Google Cloud CLI 创建项目、启用结算功能和启用 Pub/Sub Lite API。
您可以使用 Google Cloud CLI 创建精简版预留、精简版主题和精简版订阅。
使用 Go、Java 和 Python 版 Pub/Sub 精简版客户端库发送和接收消息。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
-
创建 Google Cloud 项目:
gcloud projects create PROJECT_ID
将
PROJECT_ID
替换为您要创建的 Google Cloud 项目的名称。 -
选择您创建的 Google Cloud 项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID
替换为您的 Google Cloud 项目 名称。
-
-
Enable the Pub/Sub Lite API:
gcloud services enable pubsublite.googleapis.com
-
为您的 Google 账号创建本地身份验证凭据:
gcloud auth application-default login
-
向您的 Google 账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- 将
PROJECT_ID
替换为您的项目 ID。 - 将
EMAIL_ADDRESS
替换为您的电子邮件地址。 - 将
ROLE
替换为每个角色。
- 将
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
-
创建 Google Cloud 项目:
gcloud projects create PROJECT_ID
将
PROJECT_ID
替换为您要创建的 Google Cloud 项目的名称。 -
选择您创建的 Google Cloud 项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID
替换为您的 Google Cloud 项目 名称。
-
-
Enable the Pub/Sub Lite API:
gcloud services enable pubsublite.googleapis.com
-
为您的 Google 账号创建本地身份验证凭据:
gcloud auth application-default login
-
向您的 Google 账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- 将
PROJECT_ID
替换为您的项目 ID。 - 将
EMAIL_ADDRESS
替换为您的电子邮件地址。 - 将
ROLE
替换为每个角色。
- 将
安装客户端库
Go
go get cloud.google.com/go/pubsublite
Java
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Python
pip install --upgrade google-cloud-pubsublite
创建精简版预留
如需创建精简版预留,请使用 gcloud pubsub lite-reservations create
命令。以下示例会创建一个名为 testRes
的预留。
gcloud pubsub lite-reservations create testRes \ --location=us-central1 \ --throughput-capacity=1
创建区域级精简版主题
如需创建区域级精简版主题,请使用 gcloud pubsub lite-topics create
命令。以下示例创建了一个名为 testTopic
的主题。
gcloud pubsub lite-topics create testTopic \ --location=us-central1 \ --partitions=1 \ --per-partition-bytes=30GiB \ --throughput-reservation=projects/PROJECT_ID/locations/us-central1/reservations/testRes \
替换以下内容:
PROJECT_ID:项目的 ID
创建精简版订阅
如需创建精简版订阅,请使用 gcloud pubsub lite-subscriptions create
命令。以下示例创建了一个名为 testSub
的订阅。
gcloud pubsub lite-subscriptions create testSub \ --location=us-central1 \ --topic=testTopic \ --delivery-requirement=deliver-immediately
发送消息
使用以下发布者应用向精简版主题发送消息:
Go
试用此示例之前,请按照使用客户端库的 Pub/Sub 精简版快速入门中的 Go 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Lite Go API 参考文档。
如需向 Pub/Sub Lite 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Python
试用此示例之前,请按照使用客户端库的 Pub/Sub 精简版快速入门中的 Python 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Lite Python API 参考文档。
如需向 Pub/Sub Lite 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
发布者向精简版主题发送 100 条消息,并输出 Pub/Sub 精简版服务接收的消息数量。
接收消息
使用以下订阅者应用接收来自精简版订阅的消息:
Go
试用此示例之前,请按照使用客户端库的 Pub/Sub 精简版快速入门中的 Go 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Lite Go API 参考文档。
如需向 Pub/Sub Lite 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照使用客户端库的 Pub/Sub 精简版快速入门中的 Java 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Lite Java API 参考文档。
如需向 Pub/Sub Lite 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照使用客户端库的 Pub/Sub 精简版快速入门中的 Python 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Lite Python API 参考文档。
如需向 Pub/Sub Lite 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
订阅者接收消息后,订阅者会输出消息 ID 和消息数据。
清理
为避免因本页面中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的 Google Cloud 项目。
- 为避免系统因本指南中使用的资源向您的 Google Cloud 帐号收取费用,请删除上述主题和订阅。
gcloud pubsub lite-subscriptions delete testSub --location=us-central1 gcloud pubsub lite-topics delete testTopic --location=us-central1
-
可选:撤消您创建的身份验证凭据,并删除本地凭据文件。
gcloud auth application-default revoke
-
可选:从 gcloud CLI 撤消凭据。
gcloud auth revoke