S3 compatible storage

S3 and S3 compatible storage backends are supported by the django-storages package.

The django-storages package is now included in MyTardis’s requirements-base.txt

It can be used to configure an S3 storage box, or it can be used to store static assets in S3, as described at https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html

Configuration

The following options can be set as StorageBoxOption on your S3 storage box or system wide in your Django settings (a default of * labels mandatory settings):

StorageBoxOption Django Setting Default
access_key AWS_S3_ACCESS_KEY_ID AWS_ACCESS_KEY_ID *
secret_key AWS_S3_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY *
file_overwrite AWS_S3_FILE_OVERWRITE True
headers AWS_HEADERS {}
bucket_name AWS_STORAGE_BUCKET_NAME *
auto_create_bucket AWS_AUTO_CREATE_BUCKET False
default_acl AWS_DEFAULT_ACL public-read
bucket_acl AWS_BUCKET_ACL default_acl
querystring_auth AWS_QUERYSTRING_AUTH True
querystring_expire AWS_QUERYSTRING_EXPIRE 3600
reduced_redundancy AWS_REDUCED_REDUNDANCY False
location AWS_LOCATION ''
encryption AWS_S3_ENCRYPTION False
custom_domain AWS_S3_CUSTOM_DOMAIN None
calling_format AWS_S3_CALLING_FORMAT SubdomainCallingFormat()
secure_urls AWS_S3_SECURE_URLS True
file_name_charset AWS_S3_FILE_NAME_CHARSET utf-8
gzip AWS_IS_GZIPPED False
preload_metadata AWS_PRELOAD_METADATA False
gzip_content_types GZIP_CONTENT_TYPES ('text/css', 'text/javascript', 'application/javascript', 'application/x-javascript', 'image/svg+xml')
url_protocol AWS_S3_URL_PROTOCOL http:
host AWS_S3_HOST S3Connection.DefaultHost
use_ssl AWS_S3_USE_SSL True
port AWS_S3_PORT None
proxy AWS_S3_PROXY_HOST None
proxy_port AWS_S3_PROXY_PORT None
The max amount of memory a returned file can take up before being rolled over into a temporary file on disk. Default is 0: Do not roll over.
max_memory_size AWS_S3_MAX_MEMORY_SIZE 0