您可以使用AWS CLI的describe-images命令来获取所有AMI的详细信息,并使用过滤器来返回特定AMI名称的最新AMI的唯一列表。以下是一个示例解决方法:
# 使用describe-images命令获取所有AMI的详细信息
aws ec2 describe-images --owners self --query 'Images[*].[ImageId,Name,CreationDate]' --output text \
--filters "Name=name,Values=my-ami-name*" \
--query 'reverse(sort_by(Images, &CreationDate))[:1].[ImageId,Name]'
在上面的示例中,我们使用了以下参数:
--owners self
:只返回由您自己创建的AMI。--query 'Images[*].[ImageId,Name,CreationDate]' --output text
:指定输出格式为纯文本,并且只返回AMI的ImageId、Name和CreationDate字段。--filters "Name=name,Values=my-ami-name*"
:使用过滤器来匹配特定AMI名称。您可以将my-ami-name
替换为您要查找的AMI名称的前缀。--query 'reverse(sort_by(Images, &CreationDate))[:1].[ImageId,Name]'
:使用JMESPath查询语法对返回的AMI列表进行排序,并返回最新AMI的ImageId和Name字段。请注意,您需要配置AWS CLI,并具有适当的权限才能运行此命令。