कैसे करने के लिए पाश के माध्यम से एक json फ़ाइल में रिकॉर्ड ansible

0

सवाल

मैं नया हूँ Ansible, बस भटक सकता है कि कैसे मैं पाश के माध्यम से एक json रिकॉर्ड के साथ ansible. मैं एक json फ़ाइल में निम्न डेटा:

{
    "map": {
        "entry": [
            {
                "string": [
                    "6a032ae5-3eed-4d20-a9ef-ccbd88118c47"
                ]
            },
            {
                "string": [
                    "27617813-e268-4c94-b539-3550a3a8501a"
                ]
            },
            {
                "string": [
                    "b39b10fb-0538-42d7-96fc-553eee9c7ded"
                ]
            }
        ]
    }
}

और मैं निम्नलिखित कोड में ansible माध्यम से चलाने के लिए json फ़ाइल:

- name: Initialise variables
  set_fact:
    NEW_CODE_TEMPLATES_IDS: "{{ lookup('file', 'code_template_map/codeTemplate.json') | json_query('map.entry[*].item') }}"
    
    
- name: code template id
  debug:
    var: NEW_CODE_TEMPLATES_IDS

मैं उम्मीद उत्पादन होगा निम्नलिखित की तरह:

6a032ae5-3eed-4d20-a9ef-ccbd88118c47
27617813-e268-4c94-b539-3550a3a8501a
b39b10fb-0538-42d7-96fc-553eee9c7ded

लेकिन किसी कारण के लिए यह नहीं लगता है मेरे लिए काम कर रहे. नहीं करता है किसी को पता है क्यों ?

ansible
2021-11-24 05:09:25
1

सबसे अच्छा जवाब

1

आप परिवर्तित नहीं कर रहे हैं स्ट्रिंग से लौटे देखने से JSON में एक डेटा संरचना (json_query() इस्तेमाल नहीं किया जा सकता के साथ JSON तार, यह उम्मीद पार्स डेटा संरचनाओं), और json_query('map.entry[*].item') मैच नहीं करता है डेटा आप प्रदान की है ।

मैं से बचना होगा json_query() और मानक का उपयोग Jinja सुविधाओं के लिए इस डेटा हेरफेर:

"{{ (lookup('file', 'code_template_map/codeTemplate.json') | from_json).map.entry | map(attribute='string') | flatten }}"

अगर तुम पर जोर देते हैं का उपयोग कर json_query(), यह होगा:

"{{ (lookup('file', 'code_template_map/codeTemplate.json') | from_json) | json_query('map.entry[*].string[]') }}"
2021-11-24 06:21:42

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................