为了账号安全,请及时绑定邮箱和手机立即绑定

与 Golang 和 DGraph 的连接错误 rpc

与 Golang 和 DGraph 的连接错误 rpc

Go
慕码人8056858 2022-06-27 15:20:02
我正在尝试在 DGraph 数据库中进行突变,但是当我运行代码时,它会抛出下一个错误:rpc 错误:代码 = 不可用 desc = 连接关闭退出状态 1我在端口 8000 中使用 dGraph 和 docker,我的 golang 代码在这里:package mainimport (   "fmt"   "context"   "encoding/json"   "log"   dgo "github.com/dgraph-io/dgo"   api "github.com/dgraph-io/dgo/protos/api"   grpc "google.golang.org/grpc")type Person struct {   Name string `json:"name,omitempty"`   Lastname string `json:"lastname,omitempty"`}func main() {conn, err := grpc.Dial("localhost:8000", grpc.WithInsecure())if err != nil {  log.Fatal(err)}defer conn.Close()dgraphClient := dgo.NewDgraphClient(api.NewDgraphClient(conn))p := Person {    Name: "Giovanni",    Lastname: "Mosquera Diazgranados",}txn := dgraphClient.NewTxn()ctx := context.Background()defer txn.Discard(ctx)pb, err := json.Marshal(p)if err != nil {    log.Fatal(err)}mu := &api.Mutation{    SetJson: pb,}res, err := txn.Mutate(ctx, mu)if err != nil {    fmt.Println("Aqui toy")    log.Fatal(err)} else {    fmt.Println(res)}}如何解决此错误以连接我的 DGraph 并进行突变?
查看完整描述

2 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

欢迎来到堆栈溢出!


为了让你的代码在本地使用 docker“独立”版本的 DGraph 我不得不改变两件事:


使用端口9080。容器暴露了 3 个端口:8000, 8080, 9080. 使用8080or8000我得到你提到的同样的错误。

使用v2进口。不确定您正在运行哪个版本的 DGraph 服务器,因此您可能不需要这样做。但是如果你有一个新的服务器,你需要这些导入:

import (

    dgo "github.com/dgraph-io/dgo/v2"

    api "github.com/dgraph-io/dgo/v2/protos/api"

)


查看完整回答
反对 回复 2022-06-27
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

端口8000用于 dgraph 附带的 ratel-ui。要使用 dgraph go 客户端进行突变,您需要连接到暴露的 grpc-alpha 端口,这通常位于9080.



查看完整回答
反对 回复 2022-06-27
  • 2 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信