[小ネタ] boto3のSessionはリージョンの取得が簡単です
2025.03.26
こんにちは。サービス開発室の武田です。
以前、臼田がboto3のclientからリージョンを取得する方法を書いていました。
そういえばsessionだとどうなのかなということで調べる機会がありました。結論からいえば、clientのようなウラワザ感のあるものではなく、素直に取得できました。
>>> import boto3
>>> session = boto3.session.Session(region_name="us-east-1")
>>> session.region_name
'us-east-1'
このsessionから作成したclientはデフォルトとしてこのリージョンが設定されています。
>>> ec2 = session.client("ec2")
>>> ec2._client_config.region_name
'us-east-1'
>>> ec2_apn1 = session.client("ec2", region_name="ap-northeast-1")
>>> ec2_apn1._client_config.region_name
'ap-northeast-1'
まとめ
複数のリージョンにまたがった処理を行おうとする場合、リージョンごとに処理を分けるということはよくあります。その際sessionやclientからリージョンを取得できると便利です。必要になったらこのエントリを思い出してあげてください。






