2017-04-13 1 views
0

Comment pouvez-vous imprimer la sortie Boto EC2 à partir d'AWS?Joli impression sortie Boto EC2 à partir d'AWS

est ici l'original (pas très joli):

{u'Reservations ': [{u'OwnerId': '123456789012', u'ReservationId ': 'r-0583ea9691fc65d99', u' Groupes ': [], u'Instances': [{'' Surveillance '': {'Etat': 'désactivé'}, 'PublicDnsName': 'ec2-52-91-153-194.compute-1 .amazonaws.com ', u'State': {u'Code ': 16, u'Name': 'running'}, u'EbsOptimized ': False, u'LaunchTime': datetime.datetime (2017, 4 , 13, 14, 2, 13, tzinfo = tzutc()), u'PublicIpAddress ': '52 .91.153.194', u'PrivateIpAddress ': '10 .0.0.50', u'ProductCodes ': [], u'VpcId': 'vpc-f06bb096', u'StateTransitionReason ':' ', u'InstanceId': 'i-00b54d7f43d6d6c41', u'ImageId ':' ami-f4cc1de2 ' , 'Nom Privé': 'ip-10-0-0-50.ec2.internal', u'KeyName ':' ec2-test ', u'SecurityGroups': [{u'GroupName ':' default ' , u'GroupId ': ' sg-d91a11a4 '}], u'ClientToken': '', u'SubnetId ':' subnet-983e31a4 ', u'InstanceType': 't2.micro', u'NetworkInterfaces ' : [{u 'Statut': 'en cours d'utilisation', u'MacAddress ': '06: 25: 23: 48: 95: a6', u'SourceDestCheck ': True, u'VpcId': 'vpc- f06bb096 ', u'Description': '', 'Association': {u'PublicIp ': '52 .91.153.194', 'Public Name': 'ec2-52-91-153-194.compute-1. amazonaws.com ', u'IpOwnerId': 'amazon'}, u'NetworkInterfaceId ':' eni-7813e976 ', u'PrivateIpAddresses': [{u'PrivateDnsName ':' ip-10-0-0-50.ec2.internal ', u'Association': {u ' PublicIp ': '52 .91.153.194', 'PublicDnsName': 'ec2-52-91-153-194.compute-1.amazonaws.com', u'IpOwnerId ':' amazon '}, u'Primaire' : True, u'PrivateIpAddress ': '10 .0.0.50'}], u'PrivateDnsName ':' ip-10-0-0-50.ec2.internal ', u'Attachment': {u'Status ': 'attached', u'DeviceIndex ': 0, u'DeleteOnTermination': True, u'AttachmentId ':' eni-attach-1497b932 ', u'AttachTime': datetime.datetime (2017, 4, 13, 14, 2, 13, tzinfo = tzutc())}, u'Groups ': [{u'GroupName': 'default', u'GroupId ':' sg-d91a11a4 '}], u'SubnetId': 'sous-réseau -983e31a4 ', u'OwnerId': '12345 6789012 ', u'PrivateIpAddress': '10 .0.0.50 '}], u'SourceDestCheck': True, vous 'Placement': {u'Tenancy ': ' default ', u'GroupName': '', u ' DisponibilitéZone ':' us-east-1a '}, u'Hypervisor': 'xen', u'BlockDeviceMappings ': [{u'DeviceName': '/ dev/sda1', u'Ebs ': {u' Statut ':' attaché ', u'DeleteOnTermination': True, u'VolumeId ':' vol-0bde7c66b5d2bfbe3 ', u'AttachTime': datetime.datetime (2017, 4, 13, 14, 2, 14, tzinfo = tzutc())}}], u'Architecture ':' x86_64 ', u'RootDeviceType': 'ebs', u'RootDeviceName ':'/dev/sda1 ', u'VirtualizationType': 'hvm', u'AmiLaunchIndex ': 0}]}, {u'OwnerId': '123456789012', u'ReservationId ':' r-045b809e272d93e2b ', u'Groups': [], u'Instances ': [{u'Monitoring ': {u'State': 'disabled'}, 'PublicDnsName': '', u'RootDeviceType ':' ebs ', vous' Etat ': {u'Code': 48, u'Name ': ' terminé ', u'EbsOptimisé': Faux, u'LaunchTime ': datetime.datetime (2017, 4, 13, 12, 56, 12, tzinfo = tzutc()), ' ProductCodes ': [], u'StateTransitionReason': 'Initiée par l'utilisateur (2017-04-13 13:57:36 GMT)', 'InstanceId': 'i-0c474bd415597945d', u'ImageId ':' ami- f4cc1de2 ', u'PrivateDnsName': '', u'KeyName ': ' ec2-test ', u'SecurityGroups': [], u'ClientToken ':' ', u'InstanceType': 't2.micro ', u'NetworkInterfaces': [], u'Placement ': {u'Tenancy': 'default', u'GroupName ':' ', u'AvailabilityZone': 'us-east-1a'}, u'Hypervisor ':' xen ', u'BlockDeviceMappings': [], u'Architecture ':' x86_64 ', u'StateReason': {u'Message ': ' Client.UserInitiatedShutdown: Fermeture à l'initiative de l'utilisateur ', u 'Code': 'Client.UserInitiatedShutdown'}, u'RootDeviceName ':'/dev/sda1 ', u'VirtualizationType': 'hvm', u'AmiLaunchIndex ': 1}, {u'Monitoring': { u'State ':' disabled '}, u'PublicDnsName': '', u'RootDeviceType ': ' ebs ', u'State': {u'Code ': 48, u'Name': 'terminé'} , u'EbsOptimized ': False, u'LaunchTime': datetime.datetime (2017, 4, 13, 12, 56, 12, tzinfo = tzutc()), u'ProduitCodes ': [], u'StateTransitionRaison ':' Initiée par l'utilisateur (2017-04-13 13:57:36 GMT) ', u'InstanceId': 'i-08a8961ce06801f38', u'ImageId ':' ami-f4cc1de2 ', ' PrivateDnsName ':' ', u'KeyName': 'ec2-test', u'SecurityGroups ': [], u'ClientToken': '', u'InstanceType ':' t2.micro ', u'NetworkInterfaces': [], u'Placement ': {u'Tenancy': 'default', u'GroupName ':' ', u'AvailabilityZone': 'us-east-1a'}, u'Hypervisor ':' xen ' , u'BlockDeviceMappings ': [], u'Architecture': 'x86_64', u'StateReason ': {u'Message': 'Client.UserInitiatedShutdown: arrêt initié par l'utilisateur', u'Code ':' Client. UserInitiatedShutdown '}, u'RootDeviceName': '/ dev/sda1', u'VirtualizationType ':' hvm ', u'AmiLaunchIndex': 2}, {u'Monitoring ': {u'State': 'disabled'}, u'PublicDnsName ':' ', u'RootDeviceType': 'ebs', état ': {u'Code': 48, u 'Nom': 'terminated'}, u'EbsOptimized ': False, u'LaunchTime': datetime.datetime (2017, 4, 13, 12, 56, 12, tzinfo = tzutc()), u'ProductCodes ': [], u'StateTransitionReason': 'Initiée par l'utilisateur (2017-04-13 13:57:36 GMT)', 'InstanceId': 'i-0912694d25b7c2d4f', u'ImageId ':' ami-f4cc1de2 ', u'PrivateDnsName': '', u'KeyName ': ' ec2-test ', u'SecurityGroups': [], u'ClientToken ':' ', u'InstanceType': 't2.micro', u'NetworkInterfaces ': [], u'Placement': {u'Tenancy ':' default ', u'GroupName': '', u'AvailabilityZone ': ' us-east-1a '}, u'Hypervisor ':' xen ', u'BlockDeviceMappings' : [], u'Architecture ':' x86_64 ', u'StateReason': {u'Message ': ' Client.UserInitiatedShutdown: arrêt initié par l'utilisateur ', u'Code': 'Client.UserInitiatedShutdown'}, u 'RootDeviceName': '/ dev/sda1', u'VirtualizationType ':' hvm ', u'AmiLaunchIndex': 0}]}, 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': 'f698802c-3506-49f5-8bc6-d40639e1e12c', 'HTTPHeaders': {'transfer-encoding': 'chunked', 'vary': 'Accept-Encoding', 'serveur': 'AmazonEC2 », 'type de contenu': 'text/xml; charset = UTF-8', 'date': 'Jeu 13 avril 2017 14:04:51 GMT'}}}

Quels sont tous ces u s?

Si j'essayer d'utiliser la décharge JSON Python je reçois:

TypeError: datetime.datetime(2017, 4, 13, 14, 2, 13, tzinfo=tzutc()) is not JSON serializable 

Répondre

3

Essayez le module pprint:

from pprint import pprint 
pprint(your_data) 

Le préfixe 'u' signifie que ceci est une chaîne unicode.

+0

Réponse soignée. Un moyen de se débarrasser des 'u's? Très distrayant. Et très gênant lorsque vous souhaitez copier et coller. – Snowcrash

+1

Basculer vers Python 3.x serait le moyen le plus simple de se débarrasser des u puisque dans Python 3 tout est traité comme unicode donc le préfixe u n'est plus nécessaire. – acidtobi