Comment lister les régions disponibles avec Boto3 (Python)
Comme AWS se dilate et ajoute de nouvelles régions, j'aimerais avoir mon code de détecter automatiquement. Actuellement, le "Sélectionnez votre région" est codé en dur, mais je tiens à analyser les suivantes pour tout le RegionName.
import boto3
ec2 = boto3.client('ec2')
regions = ec2.describe_regions()
print(regions)
Ma sortie JSON comme suit:
{"Régions": [{"point de Terminaison': 'ec2.ap-south-1.amazonaws.com', 'RegionName': 'ap-sud-1'}, {'Extrémité': 'ec2.eu-west-1.amazonaws.com', 'RegionName': 'eu-west-1'}, {'Extrémité': 'ec2.ap-southeast-1.amazonaws.com', 'RegionName': 'ap-sud-est-1'}]}
J'ai découpée à la répétition de données et la ResponseMetadata pour des raisons d'espace.
Comment puis-je analyser le RegionName dans une liste?
OriginalL'auteur Shawn | 2016-07-19
Vous devez vous connecter pour publier un commentaire.
De ce qui suit va vous retourner le RegionName et le point de Terminaison pour chaque région.
client = boto3.client('ec2')
échoue avec l'erreur "botocore.des exceptions.NoRegionError: Vous devez spécifier une région."Il existe plusieurs façons de définir la région (aws a une bonne doc pour ça), mais vous pouvez obtenir directement à partir de
client = boto3.client('ec2', region_name='us-west-2')
comment puis-je donner plusieurs régions noms ? puis-je donner à cette
client = boto3.client('ec2',region_name='us-west-2' && 'us-west-1')
@FrédéricHenrivous ne pouvez pas avoir un client qui s'étend sur plusieurs régions, vous devez créer un client pour chaque région que vous prévoyez de travailler sur
OriginalL'auteur Frédéric Henri
En plus à Frédéric de réponse, vous pouvez également obtenir des zones connues pour chaque service sans faire des appels de service. Je vous mets en garde, cependant, que, puisque c'est en tirant à partir botocore de modèles locaux plutôt que de frapper un point de terminaison, il ne sera pas toujours être exhaustive, car vous avez besoin de mettre à jour botocore pour mettre à jour la liste.
En outre, vous n'êtes pas limité aux régions dans cette liste. Si vous utilisez une ancienne version de botocore vous pouvez toujours utiliser de nouvelles régions en les précisant. Elles ne veulent pas apparaître dans cette liste.
OriginalL'auteur Jordon Phillips