2015-07-25 20 views
25

Ben örnek meta erişmek için kullanılan (örneğin geçerli yığın-adını almak) üzerinden, boto enboto3? Düzenli Boto 2.38 yılında

boto.utils.get_instance_metadata() 

boto3 eşdeğer bir var mı, yoksa ben aşağı düzey direkt http adrese gitmek gerekiyor çalışan örnekle ilgili meta veriler almak için?

cevap

14

Hala boto3'te hiç bir eşdeğer yok, sadece bu boşluğu kendim atayım. Bu soruna başvuran https://github.com/boto/boto3/issues/313 için bir açık özellik isteği var. geçici çözümler gelince

,
Eğer boto.utils kullanmak veya el yani HTTP isteklerini yapmak urllib/ urllib2 kullanmaya devam edebilirsiniz.

# 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() 

meta hizmetinin URI yapısı için hızlı bir urllib intro ve http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-data-categories için What is the quickest way to HTTP GET in Python? görüyoruz.

+2

bu * still * true ?! siiiiiiigh – dwanderson

+0

@dwanderson Ne yazık ki Evet! – jimy