Couchbase GoLang 客户端找不到存储桶



我有一个TCP服务器,它试图使用go Couchbase客户端库连接到Couchbase数据库,但我收到一个错误,说我试图访问的名为"events"的bucket不存在。

当我使用Go的官方Couchbase客户端库时,一切都很好。

我注意到这两个客户之间的区别是"池"的概念。我已将此池设置为"默认"。

是什么导致这位Go客户看不到我的水桶?

cb, err := couchbase.Connect("http://address:port")
if err != nil {
        log.Fatalf("Error connecting:  %v", err)
}
cbPool, err := cb.GetPool("default")
if err != nil {
    log.Fatalf("Error getting pool: %v", err)
}
cbBucket, err := cbPool.GetBucketWithAuth("events", "username", "password")
if err != nil {
    log.Fatalf("Error getting bucket: %v", err)
}

我假设您遇到了某种身份验证错误。API有点令人困惑。GetBucketWithAuth应该这样调用:

GetBucketWithAuth("事件"、"事件"one_answers"密码")

原因是客户端想要bucket用户名和bucket密码。bucket用户名与bucket名称相同。

话虽如此,我强烈建议你使用gocb,而不是沙发床。gocb是Couchbase的官方go客户端,go Couchbase仅在Couchbase内部使用。事实上,许多使用go-cochbase的组件将开始使用gocb,因为这个库更容易使用,而且组织得更好。

https://github.com/couchbase/gocb

相关内容

  • 没有找到相关文章

最新更新