我正在寻找将png图像传输到我在AWS上使用Python和boto3的S3存储桶,不幸的是,当我在命令提示符下运行脚本时出现错误。
下面是我与boto3一起使用的Python脚本:
import boto3
from botocore.client import Config
ACCESS_KEY_ID = 'myAccessKey'
ACCESS_SECRET_KEY = 'mySecurityKey'
BUCKET_NAME = 'myBucketName'
data = open('C:/Python27/Scripts/test.png','rb')
s3 = boto3.resource(
's3',
aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=ACCESS_SECRET_KEY,
config=Config(signature_version='s3v4')
)
s3.Bucket(BUCKET_NAME).put_object(Key='test.png', Body=data)
print ("Done")
这是我运行脚本时遇到的错误:
错误的图像
任何有关这方面的帮助将非常感激。
建议您使用AWS Command-Line Interface (CLI) aws configure
命令,而不是将凭据放入源代码中,该命令会将凭据存储在配置文件中。
然后,您只需上传一个包含以下代码的文件:
import boto3
s3 = boto3.client('s3', region_name='ap-southeast-2')
s3.upload_file('C:/Python27/Scripts/test.png', 'my-bucket', 'test.png')
(根据您的水桶设置适合的区域。)