Ven*_*u S 5 uri key-value-store consul consul-template consul-kv
我在 json 中有应用程序配置,每个应用程序最多有 80 个键/值对,这些键/值对将存储在 Consul KV Store 中。一般来说,它们是java键值属性,我有一个简单的shell脚本,它对值进行编码并将其转换为与consul import命令兼容的导入。我正在尝试为船上的新应用程序(开始使用 consul 进行 KV 存储的应用程序)自动执行 consul KV 导入。到目前为止,我们正在手动运行consul kv import @app_config.json
,但是,我想调用 HTTP api,而不是通过 consul KV import 进行导入。请问有什么建议吗?
json 格式的应用程序配置示例。
[
{
"key": "asia",
"flags": 0,
"value": "NDQzNg=="
},
{
"key": "asia/india",
"flags": 0,
"value": "MTMyNA=="
},
{
"key": "europe",
"flags": 0,
"value": "NzQzLjE="
},
{
"key": "europe/france",
"flags": 0,
"value": "NjYuOQ=="
},
{
"key": "europe/germany",
"flags": 0,
"value": "ODIuNjc="
}
]
Run Code Online (Sandbox Code Playgroud)
基本上,您需要发送 PUT /v1/txn 请求,其有效负载包含交易操作数组,例如
const url = 'http://127.0.0.1:8500/v1/txn';
const bulk = [
{
"KV": {
"Verb": "set",
"Key": "bulk/hello",
"Value": "aGVsbG8="
}
},
{
"KV": {
"Verb": "set",
"Key": "bulk/world",
"Value": "d29ybGQ="
}
}
];
const options = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json;charset=UTF-8'
},
body: JSON.stringify(bulk)
};
await fetch(url, options);
Run Code Online (Sandbox Code Playgroud)