使用consu_kv ansible模块在consu中加载键值对

使用consu_kv ansible模块在consu中加载键值对,ansible,consul,Ansible,Consul,我们在一个json格式的文件中有键值对 { "app1": [ {"key": "key1","value": "val1"}, {"key": "key2","value": "val2"} ], "app2": [ {"key": "key1","value": "val1"}, {"key": "key2","value": "val2"} ], "app3": [ {"key": "key1","value"

我们在一个json格式的文件中有键值对

{
  "app1":
 [
     {"key": "key1","value": "val1"},
     {"key": "key2","value": "val2"}


 ],
  "app2":
 [
      {"key": "key1","value": "val1"},
     {"key": "key2","value": "val2"}

 ],
  "app3":
 [
     {"key": "key1","value": "val1"},
     {"key": "key2","value": "val2"}

 ]
}
我想把这些值放在concur集群中。这就是我正在尝试的

- debug: msg='key contains {{key}}'
  with_consul_kv:
  - 'config/app1/'
  register: keys

 - name: add a kv pair to the kv store
   consul_kv: key=somekey value=somevalue
   register: new_key

如果不依赖于JSON结构,可以使用如下格式:

myitems:
 - site:
      - {"key": "abcUrl","value": "http://prod.abc.url"}
      - {"key": "user.url","value": "http://prod.abc.login"}
      - {"key": "security.logout.url","value": "http://prod.abc.logout"}
 - site:
      - {"key": "abcUrl","value": "http://prod.abc.url"}
      - {"key": "user.url","value": "http://prod.abc.login"}
      - {"key": "security.logout.url","value": "http://prod.abc.logout"}
 - site:
      - {"key": "abcUrl","value": "http://prod.abc.url"}
      - {"key": "user.url","value": "http://prod.abc.login"}
      - {"key": "security.logout.url","value": "http://prod.abc.logout"}
 - site:
      - {"key": "abcUrl","value": "http://prod.abc.url"}
      - {"key": "user.url","value": "http://prod.abc.login"}
      - {"key": "security.logout.url","value": "http://prod.abc.logout"}
(如果您需要dc[1-4]的内置功能,请将其写在钥匙/关卡上。)

使用此格式,您可以提取如下键/值:

- name: remove a key from the store
  debug:
    msg: "key is {{ item.1.key }} and the value is {{ item.1.value }}"
  with_subelements:
    - "{{ myitems }}"
    - site

确切的问题是什么?我能够从json文件中读取键值,但无法使用concur_上传到concurmodule@KonstantinSuvorov我已经用模式细节更新了问题。@KonstantinSuvorov你对此有什么建议吗?我仍然不理解你的问题。我看到您获得了所有的
dc1
密钥,下一个任务应该做什么?