gpt4 book ai didi

go - 如何使用监听服务实现发布/订阅Google

转载 作者:行者123 更新时间:2023-12-01 22:20:31 25 4
gpt4 key购买 nike

问题是当我需要从google获取pub / sub消息并同时运行rest api时

err = client.Subscription("my-sub").Receive(ctx, func(ctx context.Context, msg *pubsub.Message) {

var data Data
json.Unmarshal(msg.Data, &data)
msg.Ack()
})
log.Printf("connect to http://localhost:%s/ for api Rest", port)
log.Fatal(http.ListenAndServe(":"+port, nil))

最佳答案

“该回调由多个goroutine并发调用,以最大化吞吐量。要终止对Receive的调用,请取消其上下文。” -来自https://pkg.go.dev/cloud.google.com/go/pubsub?tab=doc
听起来好像您想要一个REST API,该API可为客户端提供请求以前接收的Pub / Sub消息(msg.Data)的功能。
“Package HTTP提供HTTP客户端和服务器实现。” -来自https://pkg.go.dev/net/http?tab=doc#example-Handle
您将需要存储或缓存从Pub / Sub收到的msg,以便在发出HTTP请求时可以将其发送到HTTP客户端。

关于go - 如何使用监听服务实现发布/订阅Google,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63855031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com