EC2元数据API可以返回对象吗?

时间:2016-11-08 16:13:03

标签: windows powershell amazon-web-services amazon-ec2 aws-sdk

是否可以从实例元数据API中获取对象,或者您是否总是必须直接指向您想要的内容?

# So I could do this:
$obj = Invoke-Restmethod -uri http://169.254.169.254/latest/meta-data/
$obj.placement.availability-zone
$obj.hostname

# Instead of this:
$zone = Invoke-Restmethod -uri http://169.254.169.254/latest/meta-data/placement/availability-zone
$name = Invoke-Restmethod -uri http://169.254.169.254/latest/meta-data/hostname

它很容易没有物体,但只是好奇它是否可能

1 个答案:

答案 0 :(得分:1)

您可以尝试/latest/dynamic/路径。确切的URL是:

http://169.254.169.254/latest/dynamic/instance-identity/document

它返回以下形式的JSON:

{
  "devpayProductCodes" : null,
  "privateIp" : "172.31.1.178",
  "availabilityZone" : "us-east-1c",
  "accountId" : "XXXXXXXXXXX",
  "version" : "2010-08-31",
  "region" : "us-east-1",
  "instanceId" : "i-XXXXXXXXXX",
  "billingProducts" : null,
  "instanceType" : "t2.micro",
  "pendingTime" : "2016-10-20T16:16:48Z",
  "imageId" : "ami-XXXXXXXX",
  "architecture" : "x86_64",
  "kernelId" : null,
  "ramdiskId" : null
}

请注意,它没有hostname字段(以及其他一些可以通过meta-data调用访问的字段),但它确实有很多信息。