![](/img/trans.png)
[英]Is there a way to pipe the output of one AWS CLI command as the input to another?
[英]pipe output from aws cli as input to another aws cli command
嗨,我想通过管道将实例输出用于启动/停止 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.