2016-05-29 43 views
10

Problema:Come ottenere la regione dell'utente corrente da boto?

Sto cercando di ottenere la regione dell'utente autenticato da boto3.

Caso d'uso:

sto lavorando per aggiungere cache per https://github.com/pmazurek/aws-fuzzy-finder. Preferirei memorizzare nella cache il risultato su base per regione.

Questo pacchetto utilizza boto per ottenere i dati di autenticazione dell'utente (chiavi e regione). Il problema è che la regione non viene mai passata esplicitamente dall'utente, essendo presa da uno dei tanti luoghi oscuri che boto legge, quindi non ho davvero un modo per ottenerla.

Ho provato a cercare attraverso boto3 api e googling, ma non ho trovato nulla di simile a un metodo get_region o get_user_data. È possibile?

risposta

14

Si dovrebbe essere in grado di leggere il region_name dall'oggetto session.Session come

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

region_name è sostanzialmente definito come session.get_config_variable('region')

+2

Solo nel caso qualcun altro ha bisogno di questo, in futuro, è necessario creare un'istanza della sessione: 'sess = boto3.session.Session(); sess.region_name' –

+1

grazie, modificando la risposta per rendere più chiaro –

+0

Grazie mille! :) –