У меня есть пользователь, который вводит список идентификаторов экземпляров AWS.Я использую Pyton 3 и boto, чтобы распечатать информацию для экземпляра, а затем удалить его.
Я получаю эту ошибку при попытке запустить скрипт:
File ".\aws_test.py", line 11, in <module>
print("Instance ID: ", instance.id)
AttributeError: 'dict' object has no attribute 'id'
Вотмой пример кода:
import boto3
import collections
from collections import defaultdict
ec2 = boto3.client('ec2')
instance_id = 'i-076361b30ee404bb4'
instance = ec2.describe_instances(
InstanceIds=[instance_id]
)['Reservations'][0]['Instances'][0]
# Add instance info to a dictionary
ec2info = defaultdict()
print("Instance ID: ", instance.id)
Если я смогу получить идентификатор экземпляра, я получу доступ к другим, которые мне нужно напечатать следующим образом:
ec2info[instance.id] = {
'Instance ID': instance.id,
'Type': instance.instance_type,
'State': instance.state['Name'],
'Private IP': instance.private_ip_address,
'Public IP': instance.public_ip_address,
'Launch Time': instance.launch_time
}
и распечатать их.Почему я не могу получить значение instance.id?Как мне исправить эту ошибку?