将 pubsub 与 golang 一起使用:ocgrpc.NewClientStatsHandler

Posted

技术标签:

【中文标题】将 pubsub 与 golang 一起使用:ocgrpc.NewClientStatsHandler【英文标题】:Using pubsub with golang: ocgrpc.NewClientStatsHandler 【发布时间】:2018-08-27 13:13:52 【问题描述】:

我正在按照本教程将主题从 golang 项目发布到 Pub/Sub,这是我目前为该项目提供的代码:

package main

import "cloud.google.com/go/pubsub"
import "fmt"

func main() 
    fmt.Printf("hello, world\n")

它所做的只是导入 pubsub,但是当我运行 go get 时出现此错误:undefined: ocgrpc.NewClientStatsHandler

C:\Users\iha001\Dev\golang-projects\src\github.com\naguibihab\golang-playarea\src\gcloud>go get
# cloud.google.com/go/pubsub
..\..\..\..\..\cloud.google.com\go\pubsub\go18.go:34:51: undefined: ocgrpc.NewClientStatsHandler

还有什么我需要安装才能运行的吗?

【问题讨论】:

【参考方案1】:

这似乎是回购的一个问题:

@naguibihab 这不是 Windows 问题。此提交修复了问题 be072a5.简短的解释:在未成年人身上推动的重大变化 发布 google pubsub 依赖项: 人口普查仪器/opencensus-go@ac82455,方法 NewClientStatsHandler 已删除。 (他们不会在任何地方声称 符合 semver)。

这是该评论中提到的修复:https://github.com/GoogleCloudPlatform/google-cloud-go/commit/be072a5d1d73144ae0ce1071e9bd43d1ad221581

【讨论】:

【参考方案2】:

我在使用“cloud.google.com/go/pubsub”版本 0.19.0 的 Mac 上遇到了同样的问题。我的解决方法是将版本降低到 0.18.0。

【讨论】:

检查我的回答,看看是否也能解决您的问题 看起来该修复程序目前仅在 master 上,并且我没有看到补丁版本(除非我错过了它?)。我尝试将我的依赖项固定在版本上而不是主版本上,因此对我来说,修复程序仍然下降到 0.18.0。很高兴知道下一个版本已经修复了! 也许 fork 和 cherry 选择该提交,直到它出现在补丁版本中

以上是关于将 pubsub 与 golang 一起使用:ocgrpc.NewClientStatsHandler的主要内容,如果未能解决你的问题,请参考以下文章

PubSub Golang 客户端的高发布延迟

如何将 socket.io 与 graphql 订阅一起使用?

Google pubsub 死字在 golang 中不起作用

Golang 的稳定 GCP PubSub API

将骆驼与 Google PubSub 组件一起使用会为 com.google.api.client.repackaged.com.google.common.base.Strings 提供 NoCla

pubsub.NewClient 方法卡在 GKE golang