batch-file - 搜索AWS CLI输出并保存到变量

标签 batch-file amazon-web-services windows-7 aws-cli

我对批处理文件非常陌生,但是我正在尝试使用一个文件来自动化一些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)将返回有关所创建实例的json。我想搜索该json输出并将instance-id保存到变量中,以便可以使用它用ec2 create-tags命令标记新创建的实例。

关于我该怎么做的任何想法?我的第一次尝试是将> test.txt添加到上述命令的末尾,然后搜索json并设置变量。但是,在CLI命令完成并返回其输出之前立即创建了test.txt

谢谢。

最佳答案

AWS Command-Line Interface (CLI)具有--query参数,可用于指定输出字段。与--output text结合使用,它可以提供实例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

关于batch-file - 搜索AWS CLI输出并保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685966/

相关文章:

arrays - 访问批处理文件中常量索引处的数组元素

git - 如何从批处理文件将密码传递给 Git 命令

mysql - EC2 AMAZON Linux - 从本地机器连接到 MySQL 数据库

java - Amazon S3 AWS 上传图片到文件夹

c++ - 在 Code::Blocks 中运行程序的附加命令行参数?

Windows 批处理文件 - 对于给定目录和子目录中的所有文件 - 将文件扩展名更改为小写

batch-file - Apache Spark : batch processing of files

java - 我应该将gsdll64.dll放在Windows7和tomcat7主机中的哪里?

amazon-web-services - 将应用程序连接到 Amazon Aurora RDS 实例

windows-7 - windows.location.href 使用 vbscript 在 IE10 上抛出错误