Amazon web services 使用jq从json中提取两个元素
我需要建立一份我们的非盟特派团名单。我需要获取AMI ID和AMI名称。我如何在一个命令中做到这一点 现在我只能去:Amazon web services 使用jq从json中提取两个元素,amazon-web-services,amazon-ec2,jq,aws-cli,Amazon Web Services,Amazon Ec2,Jq,Aws Cli,我需要建立一份我们的非盟特派团名单。我需要获取AMI ID和AMI名称。我如何在一个命令中做到这一点 现在我只能去: aws ec2 describe-images --owners self --profile=nonprod | jq -r '.Images[].ImageId' 要获取AMI ID,或者我可以: aws ec2 describe-images --owners self --profile=nonprod | jq -r '.Images[].Name' 获取AMI名
aws ec2 describe-images --owners self --profile=nonprod | jq -r '.Images[].ImageId'
要获取AMI ID,或者我可以:
aws ec2 describe-images --owners self --profile=nonprod | jq -r '.Images[].Name'
获取AMI名称。但是有没有一种方法可以在一个命令中同时获取这两个元素?使用CLI的(JMESPath)
query
选项来提取所需的值,而不是jq
aws ec2 describe-images --owners self --query 'Images[*].[ImageId, Name]' --output text
输出
ami-12345678 MY-AMI-2018-05
ami-90123456 MY-AMI-2018-06
使用CLI的(JMESPath)
query
选项来提取所需的值,而不是jq
aws ec2 describe-images --owners self --query 'Images[*].[ImageId, Name]' --output text
输出
ami-12345678 MY-AMI-2018-05
ami-90123456 MY-AMI-2018-06
以下是如何组合两个jq命令:
jq -r '.Images[] | (.ImageId, .Name)'
以下是如何组合两个jq命令:
jq -r '.Images[] | (.ImageId, .Name)'