スポンサーリンク
目次
profileを分けたい
PythonでAWS操作をしたい場合に、boto3
ライブラリを使用すると特に意識せずに利用するとdefaultのプロファイルの認証情報が利用されます。
1 |
s3 = boto3.client('s3') |
しかし、場合によっては、使用するプロファイルや認証情報を指定したいケースがあります。
もちろん、boto3では様々な方法で認証情報を指定することが可能なので今回はそちらをご紹介致します。
手順
前提
今回は~/.aws
ディレクトリ内にcredentials
とconfig
で認証情報が設定されていることとします。
1 2 3 |
[blogenist] output = json region = ap-northeast-1 |
1 2 3 |
[blogenist] aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXX aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY |
profile指定
まずはprofileで指定する方法です。
その場合はboto3.session
を利用して以下のように記述することで実現が可能です。
1 2 3 4 5 |
from boto3.session import Session PROFILE = 'blogenist' session = Session(profile_name=PROFILE) s3 = session.client('s3') |
ACCESS_KEY/SECRET_KEY指定
ACCESS_KEYとSECRET_KEYを直接指定する方法でも以下のようにすることで可能です。
1 2 3 4 5 6 7 8 9 10 |
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') |
オススメの参考書
独学プログラマー Python言語の基本から仕事のやり方まで
AWSをはじめよう ~AWSによる環境構築を1から10まで~ はじめようシリーズ
終わりに
以上のように簡単な方法ですが、忘れがちなので備忘録として残しました。
この記事が困っている方のお力になれれば幸いです♪