根据 Boto3 官方文档,我们可以通过将凭据作为参数传递来连接 S3 存储桶。但我面临着问题。
工作场景:硬编码 key ID 和 secret key
s3r = boto3.resource('s3', aws_access_key_id='XXXXXXXXXXXXXXXXXXXX',
aws_secret_access_key='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
buck = s3r.Bucket('bucket name')
buck.download_file(filename,filename)
非工作场景:作为参数传递
AccessKey = 'XXXXXXXXXXXXXXXXXXXX'
SecretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
s3r = boto3.resource('s3', aws_access_key_id=AccessKey, aws_secret_access_key=SecretKey)
buck = s3r.Bucket('bucket name')
buck.download_file(filename,filename)
对于非工作场景,我面临以下错误。
botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden
最佳答案
http://boto3.readthedocs.io/en/latest/guide/configuration.html
session = boto3.Session(aws_access_key_id=AccessKey, aws_secret_access_key=SecretKey)
s3 = session.resource('s3')
关于python - 通过将凭据作为参数传递,使用 boto3 从 S3 Bucket 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38888392/