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

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

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

Go
aluckdog 2023-04-04 17:16:44
http://192.168.0.210:2379我写了一个连接到etcd主机的小 Go 程序http://192.168.0.211:2379,设置一个密钥/foo,bar然后读取它并打印结果。那部分工作正常:bar &{get {Key: /foo, CreatedIndex: 6, ModifiedIndex: 6, TTL: 0} <nil> 6 67b31bc85ffd6d2b} <nil>也可以使用 HTTP GET 请求读取密钥{    "action": "get",    "node": {        "key": "/foo",        "value": "bar",        "modifiedIndex": 6,        "createdIndex": 6    }}但是当我使用 ectdctl 时,它什么都不返回,就好像密钥不存在一样./etcdctl --endpoints=192.168.0.210:2379,192.168.0.211:2379 get /foo如果我改为/foo使用 etcdctl 进行设置,那么它可以正常工作并正确读取密钥。看起来 etcdctl 正在处理它自己的工作空间。任何想法为什么会这样?
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

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



查看完整回答
反对 回复 2023-04-04
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

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