我有一个批处理文件,我想在启动EC2
Windows AMI时运行.我想从该批处理文件运行的程序将EC2机器的instance-id作为参数.将实例ID作为参数传递给该程序的最简单方法是什么?
从Amazon’s Documentation on the subject开始,我看到您应该向指定的URL发出WGET并解析响应.因此,另一种表达此问题的方法可能是“如何将HTTP请求的内容作为Windows批处理文件中的参数传递给程序”
在伪代码中,这是我想要做的:
set ID = GET http://169.254.169.254/2008-08-08/Meta-data/instance-id myprogram.exe /instanceID=%ID%
关于我如何进行的任何建议?
PowerShell 3.0和
Invoke-WebRequest:
PS> $instanceId = Invoke-WebRequest -Uri http://169.254.169.254/latest/Meta-data/instance-id
或者如果你需要批量生存,我们使用curl的win32二进制文件.
或者根据您的用例,您可以使用CloudFormation在API调用期间获取Instance-Id,并将其传递给适用于您的应用程序部署的bootstrap action的cf-init.