boto では、S3 に接続するときに次のように資格情報を指定していました。
import boto
from boto.s3.connection import Key, S3Connection
S3 = S3Connection( settings.AWS_SERVER_PUBLIC_KEY, settings.AWS_SERVER_SECRET_KEY )
その後、S3 を使用して操作 (私の場合はバケットからのオブジェクトの削除) を実行できます。
boto3 の場合、私が見つけた例はすべて次のとおりです。
import boto3
S3 = boto3.resource( 's3' )
S3.Object( bucket_name, key_name ).delete()
資格情報を指定できなかったため、すべての試行がInvalidAccessKeyId
エラーで失敗しました。
boto3 で資格情報を指定するにはどうすればよいですか?
ベストアンサー1
セッションを作成できます:
import boto3
session = boto3.Session(
aws_access_key_id=settings.AWS_SERVER_PUBLIC_KEY,
aws_secret_access_key=settings.AWS_SERVER_SECRET_KEY,
)
次に、そのセッションを使用して S3 リソースを取得します。
s3 = session.resource('s3')