У меня есть настройка приложения, которая использует django-хранилища в качестве бэкэнда.
Я считаю, что загрузка файла сама работает, так как я не получаю никаких ошибок.Однако, когда я пытаюсь получить файл через мою модель, используя file.open ()
, я получаю следующую ошибку:
botocore.exceptions.ClientError: An error occurred (400) when calling the HeadObject operation: Bad Request
Как сохранение, так и извлечение работают нормально, когда я незашифровать файл (удалив 3 элемента в AWS_S3_OBJECT_PARAMETERS).
Вот соответствующая часть моего SETTINGS.py
AWS_ACCESS_KEY_ID = 'MY KEY ID IS HERE'
AWS_SECRET_ACCESS_KEY = 'MY SECRET IS HERE'
AWS_STORAGE_BUCKET_NAME = 'tickets'
AWS_S3_ENDPOINT_URL = 'https://sfo2.digitaloceanspaces.com'
AWS_S3_FILE_OVERWRITE = False
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_S3_ENCRYPTION = True
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
"SSECustomerAlgorithm":'AES256',
"SSECustomerKey":'at1TMx82nEy7SoAK8jHYanMQDVZMSLayXaaUvTc6CP0=',
"SSECustomerKeyMD5":'LWkBoT3psNdTYez70TVHUQ==',
}
AWS_S3_REGION_NAME = 'sfo2'
AWS_LOCATION = ''
AWS_DEFAULT_ACL = None
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'sendtickets/static'),
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_ENDPOINT_URL, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'