首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Golang和DGraph的连接错误rpc

与Golang和DGraph的连接错误rpc
EN

Stack Overflow用户
提问于 2020-08-31 14:35:23
回答 2查看 298关注 0票数 2

我正在尝试在DGraph数据库中进行一个突变,但是当我运行代码时,它会抛出下一个错误:

rpc错误:代码=不可用desc =连接关闭退出状态1

我在端口8000中使用dGraph和docker,我在这里的代码是golang:

代码语言:javascript
复制
package main

import (
   "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并进行变异?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-31 15:11:46

欢迎来到堆栈溢出!

为了让代码在本地使用DGraph的独立版本,我必须更改2件事情:

  • 使用端口9080。容器公开3个端口:800080809080。使用80808000我得到了您提到的相同的错误。
  • 使用v2导入。不确定您正在运行的是哪个版本的DGraph服务器,因此您可能不需要这样做。但是,如果您有一个新的服务器,您需要这些导入:

代码语言:javascript
复制
import (
    dgo "github.com/dgraph-io/dgo/v2"
    api "github.com/dgraph-io/dgo/v2/protos/api"
)
票数 1
EN

Stack Overflow用户

发布于 2020-12-15 16:34:21

端口8000是为ratel提供的,这是随dgraph而来的。要使用dgraph客户机进行突变,您需要连接到公开的grpc端口,这通常是在9080上进行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63672856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档