如何解决如何使用 go 在 GCP Pub/Sub 中进行推送订阅?
上下文:
go 中有一项使用 grcp 的服务。在该服务中有一对一的方法:
rpc CreateOrder (Order) returns (OrderId)
我想在调用此方法的 Google Cloud Pub/sub 中创建推送订阅。我已经阅读了制作pull suscription的方法,但我还没有找到gRPC的push suscription。
是否可以通过 gRPC 创建推送订阅?
解决方法
Cloud Pub/Sub 是一个支持 gRPC 的 API。它同时具有 REST 和 RPC 接口。 Pub/Sub Go 使用 gRPC。
要创建推送订阅,您需要在 PushConfig 函数中的 SubscriptionConfig 中设置 CreateSubscription 参数,该参数已在 GCP 文档的 Go code sample 中设置:
sub,err := client.CreateSubscription(ctx,subID,pubsub.SubscriptionConfig{
Topic: topic,AckDeadline: 10 * time.Second,PushConfig: pubsub.PushConfig{Endpoint: endpoint},})
并且要更新订阅,您需要在 PushConfig 中的 SubscriptionConfigToUpdate 中设置 update function 参数:
sub := client.Subscription("subName")
subConfig,err := sub.Update(ctx,pubsub.SubscriptionConfigToUpdate{
PushConfig: &pubsub.PushConfig{Endpoint: "https://example.com/push"},})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。