【发布时间】:2019-05-08 01:27:17
【问题描述】:
我正在尝试使用下面的 boto3 创建预签名 URL
s3 = boto3.client(
's3',
aws_access_key_id=settings.AWS_ACCESS_KEY,
aws_secret_access_key=settings.AWS_ACCESS_SECRET,
region_name=settings.AWS_SES_REGION_NAME,
config=Config(signature_version='s3v4')
)
metadata = {
'test':'testing'
}
presigned_url = s3.generate_presigned_url(
ClientMethod='put_object',
Params={
'Bucket': settings.AWS_S3_BUCKET_NAME,
'Key': str(new_file.uuid),
'ContentDisposition': 'inline',
'Metadata': metadata
})
因此,在生成 URL 后,我尝试使用 Ajax 将其上传到 S3,它给出了 403 禁止。如果我在创建 URL 时删除了 Metadata 和 ContentDisposition,它将成功上传。
Boto3 版本:1.9.33
【问题讨论】:
标签: django python-2.7 boto3