Using AWS S3 Versioning with Aspera

The AWS S3 bucket version feature enables you to retain multiple versions of an object in the same bucket. By default, Aspera uploads overwrite any object that has the same name as a source file. As of v3.7.3, Aspera transfers can be configured to work more gracefully with S3 versioning.

Prerequisites

Enabling S3 Versioning with Aspera Transfers

The configuration file /opt/aspera/etc/trapd/s3.properties contains the following properties that let Trapd detect if S3 versioning is enabled and change the default behavior of Aspera uploads:

# The period after which a bucket is checked again for cross-region transfers or
# bucket versioning.
# Default is 900000 (15 minutes)
#aspera.session.check-bucket.frequency=900000

# Whether to retrieve the bucket versioning status. To retrieving the bucket
# versioning status one must be the owner of the bucket and have the permission
# "s3:GetBucketVersioning"
# Default is false
#aspera.session.retrieve-bucket-versioning=false

# The assumed bucket versioning status when aspera.session.retrieve-bucket-versioning is false.
# Default is false (assume bucket is not versioned).
#aspera.session.assumed-bucket-versioning=false

To enable S3 versioning:

Aspera Versioning Behavior

File handling in a versioning-enabled AWS S3 bucket depends on if the S3 versioning feature in Aspera is enabled.

With Aspera S3 versioning enabled:

With Aspera S3 versioning disabled: