如何解决aws cli的管道输出作为另一个aws cli命令的输入
嗨,我想通过管道将实例输出传递给启动/停止ec2实例。这是代码的开头:
aws ec2 describe-instances \
--query "Reservations[*].Instances[*].{Instance:InstanceId,Subnet:SubnetId}" \
--filters "Name=tag-value,Values=<INSTANCE NAME TAG>" \
--output text | \
如何在Windows中将此输出通过管道传递到AWS ec2 start-instances命令?
解决方法
输出格式可以是JSON,YAML,TEXT或Table。这取决于您的要求。
用于JSON输出的示例命令:
$ aws iam list-users --output json
样本输出:
{
"Users": [
{
"Path": "/","UserName": "Admin","UserId": "AIDA1111111111EXAMPLE","Arn": "arn:aws:iam::123456789012:user/Admin","CreateDate": "2014-10-16T16:03:09+00:00","PasswordLastUsed": "2016-06-03T18:37:29+00:00"
},{
"Path": "/backup/","UserName": "backup-user","UserId": "AIDA2222222222EXAMPLE","Arn": "arn:aws:iam::123456789012:user/backup/backup-user","CreateDate": "2019-09-17T19:30:40+00:00"
},{
"Path": "/","UserName": "cli-user","UserId": "AIDA3333333333EXAMPLE","Arn": "arn:aws:iam::123456789012:user/cli-user","CreateDate": "2019-09-17T19:11:39+00:00"
}
]
}
现在,如果您想将此输出用于其他命令的输入,一种简单的方法是读取json文件,提取值并将其用作其他命令的输入。
有关详细信息,请阅读https://www.business.com/articles/using-powershell-with-json-data/。
,我找到了一个更适合我需求的PowerShell解决方案:
$InstanceId = aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId}" --filters "Name=tag-value,Values=<INSTANCE NAME TAG>" --output text aws ec2 start-instances --instance-ids $InstanceId
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。