gpt4 book ai didi

go - Go 客户端和 'etcdctl' cli 实用工具似乎在不同的工作区工作,即使它们连接到相同的主机

转载 作者:IT王子 更新时间:2023-10-29 02:09:07 24 4
gpt4 key购买 nike

我写了一个连接到 etcd 主机 http://192.168.0.210:2379http://192.168.0.211:2379 的小 Go 程序,设置一个key /foobar 然后读取它并打印结果。那部分工作正常:

bar &{get {Key: /foo, CreatedIndex: 6, ModifiedIndex: 6, TTL: 0} <nil> 6 67b31bc85ffd6d2b} <nil>

也可以使用 HTTP GET 请求读取 key

{
"action": "get",
"node": {
"key": "/foo",
"value": "bar",
"modifiedIndex": 6,
"createdIndex": 6
}
}

但是当我使用 ectdctl 时,它什么都不返回,就好像 key 不存在一样

./etcdctl --endpoints=192.168.0.210:2379,192.168.0.211:2379 get /foo

如果我改为使用 etcdctl 设置 /foo,那么它可以正常工作并正确读取 key 。看起来 etcdctl 正在处理它自己的工作空间。知道为什么会这样吗?

最佳答案

问题是我为客户端使用了 API v2,为 etcdctl 使用了 v3。不同的 API 版本具有不同的键命名空间。在 Go 中使用客户端 v3 import go.etcd.io/etcd/clientv3

关于go - Go 客户端和 'etcdctl' cli 实用工具似乎在不同的工作区工作,即使它们连接到相同的主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52403751/

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