Почему django-storages s3boto3 backend file url не работает с ошибкой AWS Signature Version 4?
Бэкенд django-storages s3boto3 утверждает, что обеспечивает генерацию url с предварительной подписью для файлов, загруженных на s3, используя свойство url для поля file. Сгенерированный url выглядит примерно правильно, но возвращает ошибку S3 'Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4.'
Как я могу это исправить?
Решение: добавить AWS_S3_SIGNATURE_VERSION = 's3v4' в настройки django.
В документации django-storages docs этот параметр указан как необязательный и утверждается, что по умолчанию в boto3 используется Signature Version 4. Однако, в boto3 версии 1.18.47 это не так. Добавление параметра django-storages помогло указать версию подписи как v4.