gpt4 book ai didi

go - Golang和DGraph的连接错误rpc

转载 作者:行者123 更新时间:2023-12-01 20:21:58 24 4
gpt4 key购买 nike

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

rpc error: code = Unavailable desc = connection close exit status 1


我在8000端口的docker上使用dGraph,我的golang代码在这里:
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连接并进行突变?

最佳答案

欢迎使用Stack Overflow!
为了使您的代码在本地使用DGraph的docker“独立”版本,我必须更改2件事:

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

  • import (
    dgo "github.com/dgraph-io/dgo/v2"
    api "github.com/dgraph-io/dgo/v2/protos/api"
    )

    关于go - Golang和DGraph的连接错误rpc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63672856/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com