Posted at

boto3 で デフォルトprofile以外を使う

More than 3 years have passed since last update.


デフォルトの場合

import boto3

s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)


ACCESS_KEY, SECRET_KEYを指定

ドキュメント

import boto3

from boto3.session import Session

session = Session(aws_access_key_id='<YOUR ACCESS KEY ID>',
aws_secret_access_key='<YOUR SECRET KEY>',
region_name='<REGION NAME>')

s3 = session.resource('s3')


~/.aws/credentials の profile名で指定する

Session に profile_name を渡す。

ドキュメント 見ても分からず、githubのissue で発見

import boto3

from boto3.session import Session

profile = '<YOUR_PROFILE_NAME>'
session = Session(profile_name=profile)

s3 = session.resource('s3')