1. ホーム
  2. python

[解決済み] boto3 S3への接続時に認証情報を指定するには?

2022-04-28 06:18:23

質問

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でクレデンシャルを指定するには?

解決方法を教えてください。

を作成することができます。 セッション :

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