首先完成项目配置与身份验证,包括创建Google Cloud项目、启用Pub/Sub API、配置服务账户密钥并设置GOOGLE_APPLICATION_CREDENTIALS环境变量;接着通过NuGet安装Google.Cloud.PubSub.V1库,在.NET项目中使用PublisherClient发布消息到指定主题;再利用SubscriberClient初始化订阅,编写消息处理函数并调用StartAsync开始异步监听,确保正确确认消息以避免重复消费,从而实现完整的发布-订阅流程。

要在 .NET 环境中使用 Google Cloud Pub/Sub 构建消息系统,核心是利用官方提供的客户端库来处理消息的发布与订阅。整个过程需要先完成项目配置和认证,再编写相应的代码逻辑。
准备项目与身份验证
在开始编码前,必须确保开发环境已正确设置。这包括创建 Google Cloud 项目、启用 Pub/Sub API 以及配置服务账户密钥。
- 前往 Google Cloud Console 创建或选择一个项目
- 在 API 库中搜索并启用 “Cloud Pub/Sub API”
- 创建一个服务账户,为其分配 “Pub/Sub Editor” 角色,并下载对应的 JSON 密钥文件
- 将该密钥文件路径设置为环境变量 GOOGLE_APPLICATION_CREDENTIALS,例如:
set GOOGLE_APPLICATION_CREDENTIALS="path\to\your-key.json"
集成客户端库并发布消息
.NET 项目需要引入 Google 官方的 Pub/Sub 客户端包,然后通过 PublisherClient 类向指定主题发送消息。
- 使用 NuGet 包管理器添加依赖:
Google.Cloud.PubSub.V1 - 在代码中引用命名空间:
using Google.Cloud.PubSub.V1; - 定义项目 ID 和主题名称,调用
PublisherClient.Create()建立连接 - 构建
PublisherClient实例并通过PublishAsync方法发送字符串或二进制数据
创建订阅者接收消息
消息的消费端需要建立订阅机制,持续监听主题中的新消息并进行处理。SubsciberClient 提供了简单的异步监听能力。
- 同样使用
Google.Cloud.PubSub.V1库,配合项目 ID 和订阅名称初始化SubscriberClient - 实现一个处理函数,接收
PubsubMessage并返回Task状态 - 调用
SubscriberClient.StartAsync()开始监听,它会自动拉取消息并触发你的处理逻辑 - 注意控制消息确认(ack)行为,避免重复消费










