使用django-storages上传文件时遇S3 Transfer Acceleration未配置错误
解决Django+django-storages上传S3报错“S3 Transfer Acceleration is not configured on this bucket”
问题场景
在配置好AWS凭证、使用django-storages的Django项目中,保存包含models.FileField字段的模型时,出现以下错误:
An error occurred (InvalidRequest) when calling the PutObject operation: S3 Transfer Acceleration is not configured on this bucket
已确认AWS凭证在其他电脑的相同代码库中可正常工作,但本机无法完成上传操作。
解决方案
- 检查Django配置项:打开项目的
settings.py,如果存在AWS_S3_ACCELERATE_URL或AWS_S3_TRANSFER_ACCELERATION = True这类配置,直接注释或删除。因为你的S3桶未开启传输加速,代码里的加速配置会和桶的状态冲突,导致请求失败。 - 清理本地配置缓存:运行
python manage.py clearcache清理Django缓存,或者直接重启开发服务器,确保新的配置生效。 - 排查本地环境变量:检查本机是否设置了覆盖项目配置的环境变量(比如
AWS_S3_ACCELERATE_URL),如果有,移除这些环境变量后重新测试上传。 - 核对S3桶状态:登录AWS控制台查看目标桶的属性,确认是否开启了传输加速。如果需要使用加速功能,就在控制台开启后保留代码中的加速配置;不需要的话,确保桶状态和代码配置保持一致。
内容的提问来源于stack exchange,提问作者Greg Sadetsky
相关产品推荐
相关产品推荐

