Wan*_*ick 6 python backend amazon-ec2 amazon-web-services
我尝试在ec2实例上启动服务.该服务应该发出实例的id.我知道这可以用类似的东西获得curl http://0.0.0.0/latest/meta-data.有没有其他方法可以直接从实例shell或python中的一些API获取元数据?
Joh*_*ein 11
可通过以下方式访问Amazon EC2 实例元数据:
http://169.254.169.254/latest/meta-data/
Run Code Online (Sandbox Code Playgroud)
要检索发出该请求的实例的ID,请执行以下操作:
http://169.254.169.254/latest/meta-data/instance-id/
Run Code Online (Sandbox Code Playgroud)
这可以通过curl,wget,Web浏览器或任何调用检索HTTP页面的内容来检索.
如果您希望以编程方式执行此操作,那么boto3中的一些代码等同于boto.utils.get_instance_metadata()?:
# 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()
Run Code Online (Sandbox Code Playgroud)
boto.utils.get_instance_metadata()在boto(但不是boto3)中还有一个调用,它将实例元数据作为嵌套的Python字典返回.
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |