搜索 AWS CLI 输出并保存到变量
Search AWS CLI output and save to variable
我对批处理文件很陌生,但我正在尝试使用一个来自动创建一些 AWS CLI 实例。
到目前为止,我所拥有的非常简单——我的 .bat
文件中有一个命令,它将 运行 run-instances
命令:
aws ec2 run-instances --dry-run --image-id %ami_id% --key-name %keypair% --security-group-ids %security_group% --instance-type "r3.large" --subnet-id %az1b_subnet%
此命令需要一点点 运行,但最终会(没有 --dry-run
)return json 关于创建的实例。我想搜索 json 输出并将 instance-id
保存到一个变量中,这样我就可以用它来通过 ec2 create-tags
命令标记我新创建的实例。
对我如何做到这一点有什么想法吗?我的第一次尝试是将 > test.txt
添加到上述命令的末尾,然后搜索 json 并设置变量。但是,test.txt
是在 CLI 命令完成并 return 编辑其输出之前立即创建的。
谢谢。
AWS Command-Line Interface (CLI) 有一个 --query
参数,可用于指定输出字段。结合--output text
,可以提供Instance ID列表。
这是一个脚本,假设每个 run-instances
调用只启动一个实例(否则需要一个循环):
ID=`aws ec2 run-instances --image-id ami-xxxxxxxx --instance-type t1.micro --query 'Instances[0].InstanceId' --output text`
aws ec2 create-tags --resources $ID --tags Key=Name,Value=WebServer
我对批处理文件很陌生,但我正在尝试使用一个来自动创建一些 AWS CLI 实例。
到目前为止,我所拥有的非常简单——我的 .bat
文件中有一个命令,它将 运行 run-instances
命令:
aws ec2 run-instances --dry-run --image-id %ami_id% --key-name %keypair% --security-group-ids %security_group% --instance-type "r3.large" --subnet-id %az1b_subnet%
此命令需要一点点 运行,但最终会(没有 --dry-run
)return json 关于创建的实例。我想搜索 json 输出并将 instance-id
保存到一个变量中,这样我就可以用它来通过 ec2 create-tags
命令标记我新创建的实例。
对我如何做到这一点有什么想法吗?我的第一次尝试是将 > test.txt
添加到上述命令的末尾,然后搜索 json 并设置变量。但是,test.txt
是在 CLI 命令完成并 return 编辑其输出之前立即创建的。
谢谢。
AWS Command-Line Interface (CLI) 有一个 --query
参数,可用于指定输出字段。结合--output text
,可以提供Instance ID列表。
这是一个脚本,假设每个 run-instances
调用只启动一个实例(否则需要一个循环):
ID=`aws ec2 run-instances --image-id ami-xxxxxxxx --instance-type t1.micro --query 'Instances[0].InstanceId' --output text`
aws ec2 create-tags --resources $ID --tags Key=Name,Value=WebServer