Я пытаюсь получить информацию ec2 с помощью программы python, но я не могу получить значение для publi c ip-адреса ... который печатается как None, хотя к нему прикреплен publi c ip (i можно увидеть из консоли)
Что я пробовал:
inst_id = []
for reserv in res_inst['Reservations']:
instance = reserv['Instances']
for inst in instance:
ip_addr = inst['PrivateIpAddress']
#print(inst)
if (ip == ip_addr):
inst_id = inst['InstanceId']
inst_type = inst['InstanceType']
image_id = inst['ImageId']
vpc_id = inst['VpcId']
key_name = inst['KeyName']
#pub_ip = inst[u'PublicIpAddress']
pub_ip = inst.get(u'PublicIpAddress')
print(inst_type)
print(inst_id)
print(key_name)
print(vpc_id)
print(pub_ip)
print(image_id)
az = inst['Placement']['AvailabilityZone']
print(az)
for s1 in inst['SecurityGroups']:
sg_name = s1['GroupName']
print(sg_name)
В приведенном выше коде эти синтаксисы не работают для publi c ip .. он говорит об ошибке ключа
pub_ip = inst[u'PublicIpAddress']
pub_ip = inst['PublicIpAddress']
Приведенный ниже синтаксис работает, но дает значение None
pub_ip = inst.get(u'PublicIpAddress')
Вывод: я получаю все значения, кроме print (pub_ip), который печатается как None.
Я уверен когда я печатаю всю строку json из inst
в приведенном выше коде, я вижу значение publi c ip, присутствующее в этом json словаре, однако при печати его высказывания None.
Может ли кто-нибудь предложить что я здесь не так делаю ...