关于amazon web服务:boto3相当于boto.utils.get_instance_metadata()?

boto3 equivalent to boto.utils.get_instance_metadata()?

在常规的boto 2.38中,我使用boto的

1
boto.utils.get_instance_metadata()

在boto3中是否有等效的,或者我是否需要转到底层的直接HTTP地址来获取有关正在运行的实例的元数据?


不,仍然没有与之相当的BOTO3,只是我自己撞到了这个缺口。他们对引用此问题的https://github.com/boto/boto3/issues/313有一个开放功能请求。

至于解决办法,您可以继续使用boto.utils或使用urlliburllib2手动执行HTTP请求,即。

1
2
3
4
5
6
7
# Python2
import urllib2
instanceid = urllib2.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read()

# Python3
import urllib.request
instanceid = urllib.request.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read().decode()

看看在python中http获取的最快方法是什么?有关urllib和http://docs.aws.amazon.com/aws ec2/latest/windowsguide/ec2 instance metadata.html instance data元数据服务的URI结构的数据类别的快速介绍。