Происходила следующая проблема:
An error occurred (XAmzContentSHA256Mismatch) when calling the PutObject operation: The provided 'x-amz-content-sha256' header does not match what was computed.
Решение нашел в добавлении строчки
'signature_version': 's3'
Весь код:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STORAGES = {
'default': {
'BACKEND': 'storages.backends.s3.S3Storage',
'OPTIONS': {
'access_key': os.getenv('AWS_ACCESS_KEY_ID'),
'secret_key': os.getenv('AWS_SECRET_ACCESS_KEY'),
'bucket_name': os.getenv('AWS_STORAGE_BUCKET_NAME'),
'endpoint_url': os.getenv('AWS_S3_ENDPOINT_URL'),
'signature_version': 's3'
},
},
'staticfiles': {
'BACKEND': 'storages.backends.s3.S3Storage',
'OPTIONS': {
'access_key': os.getenv('AWS_ACCESS_KEY_ID'),
'secret_key': os.getenv('AWS_SECRET_ACCESS_KEY'),
'bucket_name': os.getenv('AWS_STORAGE_BUCKET_NAME'),
'endpoint_url': os.getenv('AWS_S3_ENDPOINT_URL'),
'signature_version': 's3'
},
}
}
MEDIA_URL = f'{os.getenv('AWS_S3_ENDPOINT_URL')}/{os.getenv('AWS_STORAGE_BUCKET_NAME')}/media/'
STATIC_URL = f'{os.getenv('AWS_S3_ENDPOINT_URL')}/{os.getenv('AWS_STORAGE_BUCKET_NAME')}/static/'