[英]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.