![[小ネタ] boto3のSessionはリージョンの取得が簡単です](https://images.ctfassets.net/ct0aopd36mqt/wp-thumbnail-a873a00568e5285b2051ff6c5aae2c3d/febef60aecfe576a837a7efcb96625eb/python_icatch.png)
[小ネタ] boto3のSessionはリージョンの取得が簡単です
こんにちは。サービス開発室の武田です。
以前、臼田が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
からリージョンを取得できると便利です。必要になったらこのエントリを思い出してあげてください。