2017-11-15 12 views
1

json_queryフィルタを使用して辞書のリストからキー値を抽出しようとしましたが、エラーが発生しました。以下は、ここで脚本"エラー:AttributeError: 'モジュール'オブジェクトにjson_queryを使用中に '例外'属性がありません

1 
    2 - name: test 
    3 hosts: localhost 
    4 vars: 
    5   testList: [ { "key1": "value11", "key2": "value12", "key3": "value13" }, 
    6      { "key1": "value21", "key2": "value22", "key3": "value23" }, 
    7      { "key1": "value31", "key2": "value32", "key3": "value33" } ] 
    8 tasks: 
    9  - name: Getting keys 
10   debug: 
11   msg: "{{ testList | json_query('[*].{key1: key1 , key2: key2}')}}" 

は、それが文書http://docs.ansible.com/ansible/latest/playbooks_filters.html#json-query-filter

を参照"{{ testList | json_query('[*].key1')}}"

を正常に動作しています単一キーで出力

[WARNING]: No inventory was parsed, only implicit localhost is available 

[WARNING]: Could not match supplied host pattern, ignoring: all 

[WARNING]: provided hosts list is empty, only localhost is available 


PLAY [test] **************************************************************************************************************************************************** 

TASK [Gathering Facts] ***************************************************************************************************************************************** 
ok: [localhost] 

TASK [Getting keys] ******************************************************************************************************************************************** 
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'module' object has no attribute 'exceptions' 
fatal: [localhost]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""} 


PLAY RECAP ***************************************************************************************************************************************************** 
localhost     : ok=1 changed=0 unreachable=0 failed=1 

ですされている他のフィルタは、複数取得するためにありますキー、辞書のリストからの値?

答えて

1

最新のバージョンにアップグレードしてください。

このエラーは、2.1.3.0などで発生します(ただし、警告のいずれかの語句と異なるバージョンを使用している可能性があります)。ここで

は、現在のバージョン2.4.1.0での結果である:

TASK [Getting keys] ***************************************************************************************************** 
Unaltered: {'msg': [{'key2': u'value12', 'key1': u'value11'}, {'key2': u'value22', 'key1': u'value21'}, {'key2': u'value32', 'key1': u'value31'}]} 
ok: [localhost] => { 
    "msg": [ 
     { 
      "key1": "value11", 
      "key2": "value12" 
     }, 
     { 
      "key1": "value21", 
      "key2": "value22" 
     }, 
     { 
      "key1": "value31", 
      "key2": "value32" 
     } 
    ] 
} 
関連する問題