2016-05-29 12 views
10

Problem:Wie bekomme ich die Region des aktuellen Benutzers von Boto?

Ich versuche, die Region des authentifizierten Benutzers von Boto3 zu erhalten.

Anwendungsfall:

Ich arbeite Cache https://github.com/pmazurek/aws-fuzzy-finder auf Hinzufügen. Ich würde es vorziehen, das Ergebnis auf per-Region Basis zwischenzuspeichern.

Dieses Paket verwendet Boto, um Benutzerauthentifizierungsdaten (Schlüssel und die Region) abzurufen. Das Problem ist, dass die Region niemals explizit vom Benutzer passiert wird, da sie von einem der vielen dunklen Orte stammt, die Boto liest, so dass ich keine Möglichkeit habe, sie zu bekommen.

Ich habe versucht, durch boto3 API und googlen, aber konnte nichts wie eine get_region oder get_user_data Methode finden. Ist es möglich?

Antwort

14

Sie sollten die region_name vom session.Session Objekt wie

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

region_name ist grundsätzlich definiert als session.get_config_variable('region')

+2

Für den Fall, jemand anderes muss dies in Zukunft lesen können, müssen Sie die Sitzung instanziiert: 'sess = boto3.session.Session(); sess.region_name' –

+1

danke, redigieren die Antwort, um es klarer zu machen –

+0

Vielen Dank! :) –

Verwandte Themen