web-dev-qa-db-fra.com

Comment obtenir la région de l'utilisateur actuel de boto?

Problème:

J'essaye d'obtenir la région de l'utilisateur authentifié de boto3.

Cas d'utilisation:

Je travaille sur l'ajout de cache à https://github.com/pmazurek/aws-fuzzy-Finder . Je préférerais mettre en cache le résultat sur par région .

Ce package utilise boto pour obtenir les données d'authentification des utilisateurs (clés et région). Le problème est que la région n'est jamais passée explicitement par l'utilisateur, elle est prise dans l'un des nombreux endroits troubles que boto lit, donc je n'ai pas vraiment de moyen de l'obtenir.

J'ai essayé de rechercher dans l'API boto3 et de googler, mais je n'ai rien trouvé de semblable à un get_region ou get_user_data méthode. C'est possible?

23
Piotr Mazurek

Vous devriez pouvoir lire le region_name de l'objet session.Session Comme

my_session = boto3.session.Session()
my_region = my_session.region_name

region_name Est fondamentalement défini comme session.get_config_variable('region')

36
Frédéric Henri

Une autre option, si vous travaillez avec un client boto3, est:

import boto3
client = boto3.client('s3') # example client, could be any
client.meta.region_name
8
Steven Miller