Itérer thru ec2 décrire instance boto3
J'ai juste commencé à travailler avec boto3 et essayer d'obtenir des valeurs spécifiques pour décrire l'instance d'appel. Ainsi, par exemple, si je veux obtenir le "Hyperviseur" de la valeur ou de l'Ebs a 'DeleteOnTermintation valeur de la sortie. Ci-dessous est le code actuel, je suis en train d'utiliser pour faire l'appel et itérer à travers le dictionnaire de sortie.
import boto3
import pprint
from datetime import datetime
import json
client = boto3.client('ec2')
filters = [{
'Name': 'tag:Name',
'Values': ['*']
}]
class DatetimeEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%dT%H:%M:%SZ')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
# Let the base class default method raise the TypeError
return json.JSONEncoder.default(self, obj)
output = json.dumps((client.describe_instances(Filters=filters)), cls=DatetimeEncoder)
pprint.pprint(output)
for v in output:
print v['Hypervisor']
Obtenir cette erreur:
TypeError: string indices doivent être des entiers, pas de str
À l'aide de la pprint pour voir toutes les valeurs disponibles à partir de la sortie.
Merci..
OriginalL'auteur user2040074 | 2016-06-30
Vous devez vous connecter pour publier un commentaire.
Voici comment vous pouvez afficher les informations via le AWS Interface de Ligne de Commande (CLI):
Voici quelques Python:
OriginalL'auteur John Rotenstein