etcd http API

在docker中启动etcd

参考 https://etcd.io/docs/v3.5/op-guide/container/

启动后,假定服务监听在192.168.1.21:2379.

基本示例

range操作通过指定keyrange_end两个参数,可以实现对key的遍历。这两个参数需要以base64进行编码。
返回结果的key和value也会使用base64编码。

如果keyrange_end都是\x00,就会返回所有的key。
\x00进行base64进行编码如下:

$ echo -ne '\x00'|base64   
AA==

获取所有的key:

curl -L http://192.168.1.21:2379/v3/kv/range   -X POST  \
    -d '{"key": "AA==","range_end": "AA=="}'

前缀

如果只想获取某个前缀的所有key,可以在后缀加上 \xff来设置range_end,如下所示:

# 前缀
$ echo -ne '/some-prefix/'|base64
bmUgL3NvbWUtcHJlZml4Lwo=

# end
$ echo -ne '/some-prefix/\xff'|base64
bmUgL3NvbWUtcHJlZml4L1x4ZmYK

$ curl -L http://192.168.1.21:2379/v3/kv/range   -X POST  \
    -d '{"key": "bmUgL3NvbWUtcHJlZml4Lwo=","range_end": "bmUgL3NvbWUtcHJlZml4L1x4ZmYK"}'

base64 -d 解码打印key

$ curl -L http://192.168.1.21:2379/v3/kv/range   -X POST  \
    -d '{"key": "AA==","range_end": "AA=="}' > res.json
$ cat res.json |jq '.kvs|.[]|.key' -r|xargs -I {} bash -c 'echo {}|base64 -d;echo '

v3 API 官方文档

https://etcd.io/docs/v3.3/dev-guide/api_reference_v3/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值