List 排序表可转换

List 排序表可转换,list,dictionary,filter,ansible,List,Dictionary,Filter,Ansible,我使用ansible从AWS cli获取此列表: [ { "imageDigest": "sha256:3812b52ba33f856f2fac9c889d89694d9961e1", "imageTag": "1.4.9" }, { "imageDigest": "sha256:1

我使用ansible从AWS cli获取此列表:

[
                {
                    "imageDigest": "sha256:3812b52ba33f856f2fac9c889d89694d9961e1",
                    "imageTag": "1.4.9"
                },
                {
                    "imageDigest": "sha256:14c6ab4df3bcce714551a3e713df57cfa6611",
                    "imageTag": "1.3.4.7"
                },
                {
                    "imageDigest": "sha256:d095780c37b7ac74df3b5e36aad5beac0f9aa6"
                },
                {
                    "imageDigest": "sha256:c8ab91714372be905bff99d3df4315392a5a4ee",
                    "imageTag": "1.7.8"
                },
                {
                    "imageDigest": "sha256:5efb121b299c166677f53b30b60a50c3d8187d9",
                    "imageTag": "0.0.8"
                },
                {
                    "imageDigest": "sha256:778db52e40a1a6cd32ea297b2b7d6b24bd3bd5f7",
                    "imageTag": "1.3.9.1"
                } 
]
我只想提取最高的图像标签来构建下一个图像(有些DIC没有该键)

有人能帮我吗


谢谢大家!

你要找的东西是,然后你可以用它把“按版本排序”粘在一起,类似于

谢谢你的回答。我发现IMO比使用j2更清楚一些

- name: List ecr {{ SERVER }} images    
    command: 'aws ecr list-images --repository-name {{ SERVER }}'    
  changed_when: false   
  register: images

- name: Create a list
  set_fact:        
    versions: []

- name: Get the list from AWS 
  set_fact: 
    imgs: '{{ (images.stdout | from_json).imageIds }}'

- name: Add all the versions to the list
  set_fact:
    versions: "{{ versions + [item.imageTag] }}"
  loop: '{{ imgs }}'
  when: item.imageTag is defined

- name: Sort the versions
  set_fact:
    version: '{{ versions | sort }}'

- debug: Extract the last version
    msg: '{{ version[-1] }}'

也许ansible中有一些选项可以获得最新的。添加一些关于如何获取上述数据的代码。