尝试从Django网站将图像上传到Amazon S3存储桶时遇到客户端错误

时间:2019-03-04 15:43:05

标签: django python-3.x amazon-web-services heroku amazon-s3

我最近在Heroku上上传了我的Django网站,并且媒体和静态文件由Amazon S3提供。 静态文件和媒体文件运行良好,我可以在网站上看到它们。但是,当我尝试在个人资料页面中上传个人资料图片时,问题就来了。

它显示客户端错误:

An error occurred (InvalidAccessKeyId) when calling the PutObject operation: The AWS Access Key Id you provided does not exist in our records.

我的Amazon s3设置:

AWS_STORAGE_BUCKET_NAME = 'oryxrating'
AWS_S3_CUSTOM_DOMAIN = 's3.ap-south-1.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_KEY = os.environ.get('AWS_SECRET_KEY')

AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}



AWS_LOCATION = 'static'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
DEFAULT_FILE_STORAGE = 'Oryx.storage_backends.MediaStorage'

我已在heroku配置变量中将亚马逊访问ID和秘密密钥设置为AWS_ACCESS_KEY_ID和AWS_SECRET_KEY,并且它们已正确设置。

请帮助我,因为我无法理解问题,而且绝对无法找到解决方案。 请告诉您将Access ID放在哪里,以便上传成功。

0 个答案:

没有答案