web-dev-qa-db-ja.com

現在のユーザーの地域をbotoから取得する方法は?

問題:

Boto3から認証済みユーザーの領域を取得しようとしています。

使用事例:

私は https://github.com/pmazurek/aws-fuzzy-Finder にキャッシュを追加する作業をしています。結果をリージョンごとにキャッシュすることをお勧めします。

このパッケージは、botoを使用してユーザー認証データ(キーとリージョン)を取得します。問題は、リージョンがユーザーによって明示的に渡されることはなく、ボトが読み取る多くの不明瞭な場所の1つから取得されているため、実際に取得する方法がないことです。

Boto3 apiとgooglingを検索してみましたが、get_regionまたはget_user_dataメソッドのようなものが見つかりませんでした。出来ますか?

23
Piotr Mazurek

次のような_region_name_オブジェクトから _session.Session_ を読み取ることができるはずです

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

_region_name_は基本的にsession.get_config_variable('region')として定義されます

36

Boto3クライアントを使用している場合の別のオプションは次のとおりです。

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