boto3 S3 に接続する際に認証情報を指定するにはどうすればいいですか? 質問する

boto3 S3 に接続する際に認証情報を指定するにはどうすればいいですか? 質問する

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')

おすすめ記事