.. file-backend:: S3

S3 file backend
===============

To use this backend, the store must have its ``provider_account`` set to
point to :asset:`an asset storing details of an AWS account
<debusine:cloud-provider-account>`.

* Configuration:

  * ``bucket_name``: (string): The name of the S3 bucket to use.
  * ``storage_class`` (string, optional): The `storage class
    <https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html>`__
    to use for newly-uploaded objects.

* Supports returning local paths: no
* Supports returning URLs: yes (returns short-lived presigned URLs)

This backend also works with `Hetzner Object Storage
<https://docs.hetzner.com/storage/object-storage/>`__: in the
:asset:`account configuration <debusine:cloud-provider-account>`, leave
``region_name`` unset and set ``s3_endpoint_url`` to ``https://<location
code>.your-objectstorage.com/`` (e.g.
``https://hel1.your-objectstorage.com/`` for buckets stored in Helsinki).
