簡體   English   中英

來自 aws cli 的管道輸出作為另一個 aws cli 命令的輸入

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM