google-cloud-platform - 如何使用 go 在 GCP Pub/Sub 中进行推送订阅?
问题描述
语境:
go中有一项使用grcp的服务。在该服务中,有一种一对一的方法:
rpc CreateOrder (Order) returns (OrderId)
我想在调用此方法的 Google Cloud Pub/sub 中创建推送订阅。我已经阅读了进行拉取订阅的方法,但我还没有找到 gRPC 的推送订阅。
是否可以通过 gRPC 创建推送订阅?
解决方案
Cloud Pub/Sub 是一个支持 gRPC 的 API。它同时具有 REST 和 RPC 接口。而Pub/Sub Go使用 gRPC。
要创建推送订阅,您需要在CreateSubscription函数中的SubscriptionConfig中设置PushConfig参数,该参数已在GCP 文档的Go 代码示例中设置:
sub, err := client.CreateSubscription(ctx, subID, pubsub.SubscriptionConfig{
Topic: topic,
AckDeadline: 10 * time.Second,
PushConfig: pubsub.PushConfig{Endpoint: endpoint},
})
要更新订阅,您需要在更新函数的SubscriptionConfigToUpdate中设置PushConfig参数:
sub := client.Subscription("subName")
subConfig, err := sub.Update(ctx, pubsub.SubscriptionConfigToUpdate{
PushConfig: &pubsub.PushConfig{Endpoint: "https://example.com/push"},
})
推荐阅读
- javascript - 如何在 Angular 7 中将初始值和验证设置为 ng 自动完成?
- html - 如何在网页背景中以随机形状合并三种不同颜色
- elasticsearch - 如何使用 Nest ElasticClient 基于 Url 域名执行术语聚合
- python - 是否有计算“罗马尼亚地图”问题启发式的公式?
- html - 全屏背景图像在 Firefox 上不起作用
- reactjs - 出现错误:TypeError:无法读取 React + truffle DApp 中未定义的属性“getId”
- c# - 我的 asmx 服务在我本地机器的 iis 上运行良好,即 win10。但不适用于 windows server 2008 r2
- aframe - 将球体定位在 a 元素上方并在浏览器调整大小时保持位置
- javascript - 开玩笑 - 模拟工厂功能
- php - 使用 PUT 方法更新 Sql 在 utf-8 中不起作用