Проблема конфигурации корзины Amazon S3 с настройками Django. Доступ разрешен

#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. Спасибо! По совпадению, я следовал тому же Учебнику. 🙂