如何从boto3获取当前实例ID?

bma*_*ies 12 boto3

有没有相当于

curl http://169.254.169.254/latest/meta-data/instance-id
Run Code Online (Sandbox Code Playgroud)

使用boto3获取python中当前运行的实例instance-id?

Jor*_*ips 19

它没有api,没有.有InstanceMetadataFetcher,但它目前仅用于获取IAM角色进行身份验证.

任何形式都GET应该为你服务.Botocore使用python requests库非常好.

import requests
response = requests.get('http://169.254.169.254/latest/meta-data/instance-id')
instance_id = response.text
Run Code Online (Sandbox Code Playgroud)

  • 我接受这个作为答案,但这没有任何意义.一个实例怎么不容易知道它自己的名字? (10认同)

小智 6

事实上,放弃那个答案。您只需要 ec2-metadata https://github.com/adamchainz/ec2-metadata

   pip3 install ec2-metadata
Run Code Online (Sandbox Code Playgroud)

    from ec2_metadata import ec2_metadata
    print(ec2_metadata.instance_id)

Run Code Online (Sandbox Code Playgroud)