Go 客户端可否提供一些常见操作和查询示例?
譬如,类似现有Python客户端的示例:https://github.com/vesoft-inc/nebula-python/tree/master/examples
以方便Go使用者快速上手。
README 里面有example
package main
import (
"log"
nebula "github.com/vesoft-inc/nebula-go"
graph "github.com/vesoft-inc/nebula-go/nebula/graph"
)
func main() {
client, err := nebula.NewClient("127.0.0.1:3699")
if err != nil {
log.Fatal(err)
}
if err = client.Connect("username", "password"); err != nil {
log.Fatal(err)
}
defer client.Disconnect()
resp, err := client.Execute("SHOW HOSTS;")
if err != nil {
log.Fatal(err)
}
if resp.GetErrorCode() != graph.ErrorCode_SUCCEEDED {
log.Printf("ErrorCode: %v, ErrorMsg: %s", resp.GetErrorCode(), resp.GetErrorMsg())
}
}
嗯。这个已经看到了。
所以我上面提的是,能否多提供一些操作(譬如建表,修改schema,插入数据等),和查询(查询节点属性信息、获取路径返回结果并打印等)的示例……
用这个命令来安装客户端代码 “go get -u -v github.com/vesoft-inc/nebula-go”,执行 Usage example 代码,可能会出现错误:
Authentication fails, Invalid data length
Invalid data lenght
推测是因为安装nebula-go自动引入下载的facebook fbthrift存在兼容问题。
我用go-importer 代码库里的 https://github.com/vesoft-inc/nebula-importer/tree/master/vendor/github.com/facebook/fbthrift 进行替换后,上述代码可正常运行无错误。
这个是由于我们的服务端的fbthrift版本比较老的缘故,因此nebula-go最好使用我们的go.mod里面的版本.