#django #amazon-web-services #amazon-s3
Вопрос:
Я не могу правильно настроить корзину Amazon S3. Я выполнил следующие шаги для настройки.
Установленный
boto3
django-storages
Создал корзину S3 с пользователем IAM И
Block all public access
отключен
Настройки.py имеет следующий связанный код.
INSTALLED_APPS = [
#...
'storages',
]
AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'
STATICFILES_DIRS = [
os.path.join(BASE_DIR / 'static'),
os.path.join(BASE_DIR / 'build/static')
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
MEDIA_URL = 'https://%s/%s/images/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Теперь проблема в том, когда я перехожу на URL загруженного файла, который
MEDIA_URL = 'https://%s/%s/images/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
Я получаю эту ошибку при доступе к файлу изображения
https://remote-hospital-v4.s3.us-east-2.amazonaws.com/static/images/IMG_18.jpg
А также файлы по-прежнему хранятся локально и не загружаются в корзину S3
Требуется помощь, чтобы исправить это, или где может быть проблема.Спасибо!
Ответ №1:
Вам необходимо добавить ключ доступа к веб-службам Amazon в свои настройки (вы вставляете только секретный ключ).:
AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
Комментарии:
1. У меня это было в настройках, просто забыл добавить в вопрос детали. Проблема все та же.
2. @FaisalNazik Проверьте следующие действия: simpleisbetterthancomplex.com/tutorial/2017/08/01/…
3. Спасибо! По совпадению, я следовал тому же Учебнику. 🙂