【发布时间】:2020-01-08 00:26:37
【问题描述】:
使用 python boto API(不是 Boto3),我如何在用户数据中获取运行脚本的 CPU 的自实例 ID。
【问题讨论】:
标签: amazon-web-services amazon-ec2 boto
使用 python boto API(不是 Boto3),我如何在用户数据中获取运行脚本的 CPU 的自实例 ID。
【问题讨论】:
标签: amazon-web-services amazon-ec2 boto
使用boto从本地元数据服务中获取实例ID,如下:
import boto.utils
meta = boto.utils.get_instance_metadata()
id = meta['instance-id']
print('instance ID:', id)
请注意boto3 does not include this capability。一种选择是直接使用原生 urllib 包直接从元数据服务中查询,如下:
# For python v2
import urllib2
id = urllib2.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read()
print('instance ID:', id)
# For python v3
import urllib.request
id = urllib.request.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read().decode()
print('instance ID:', id)
或者,您可以 pip install 并使用adamchainz/ec2-metadata,如下所示:
from ec2_metadata import ec2_metadata
print('region:', ec2_metadata.region)
print('instance ID:', ec2_metadata.instance_id)
【讨论】: