Как получить зашифрованные файлы AWS с помощью Django-Storages? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть настройка приложения, которая использует 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'
...