profileを分けたい
PythonでAWS操作をしたい場合に、boto3ライブラリを使用すると特に意識せずに利用するとdefaultのプロファイルの認証情報が利用されます。
s3 = boto3.client('s3')
しかし、場合によっては、使用するプロファイルや認証情報を指定したいケースがあります。
もちろん、boto3では様々な方法で認証情報を指定することが可能なので今回はそちらをご紹介致します。
手順
前提
今回は~/.awsディレクトリ内にcredentialsとconfigで認証情報が設定されていることとします。
[blogenist]
output = json
region = ap-northeast-1
[blogenist]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
profile指定
まずはprofileで指定する方法です。
その場合はboto3.sessionを利用して以下のように記述することで実現が可能です。
from boto3.session import Session
PROFILE = 'blogenist'
session = Session(profile_name=PROFILE)
s3 = session.client('s3')
ACCESS_KEY/SECRET_KEY指定
ACCESS_KEYとSECRET_KEYを直接指定する方法でも以下のようにすることで可能です。
from boto3.session import Session
ACCESS_KEY='XXXXXXXXXXXXXXXXXXXXX'
SECRET_KEY='YYYYYYYYYYYYYYYYYYYYY'
REGION='ap-northeast-1'
session = Session(aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
region_name=REGION)
s3 = session.client('s3')
終わりに
以上のように簡単な方法ですが、忘れがちなので備忘録として残しました。
この記事が困っている方のお力になれれば幸いです♪
