Bucket Versioning

Using Bucket Versioning for Object-Level Version Control

Bucket versioning adds a layer of safety by allowing you to revert to previous versions of your objects. For example:

  • If you PUT an object into a bucket with a key that already exists: Normally, this would overwrite the original object. With versioning enabled, it instead creates a new version of the object and retains the old one.

  • If you DELETE an object from a bucket: Normally, the object would be gone forever. With versioning enabled, it instead marks the object with a delete marker, effectively hiding it while keeping the previous versions.

For these reasons, you can easily recover objects within a versioned bucket. However, this comes at the cost of increasing bucket size over time if old object versions are not deleted.

Enabling Bucket Versioning

You can enable bucket versioning in two ways: either during bucket creation (see how to create a bucket) or at any time after the bucket has been created.

Enabling versioning on an existing bucket will not restore objects that were previously overwritten or deleted.

Suspending versioning on a previously enabled bucket will stop new versions from being created when objects are overwritten or deleted. However, existing versions will not be removed from the bucket unless you delete them manually

Prerequisite

Instructions

1. Enter the Project

Select a project from the Projects Management page to go to its Project Detail page.

Project Detail

2. Go to the Bucket List Page

Select the OBJECT STORAGE > Buckets menu.

Bucket List

3. Select the Bucket you want to enable versioning for

Click on the name of the bucket to go to its overview page.

Bucket Overview

4. Enable bucket versioning

In the "Versioning" box, click the "Enable" button to open the "Confirm Enable Versioning" menu, then click CONFIRM.

Enable Bucket Versioing

Testing if Bucket Versioning is Enabled

Once versioning is enabled, you can test it by deleting a file from the bucket using Cyberduck.

1. Delete an object from the bucket

Access the bucket in Cyberduck and delete an object.

2. Check the bucket size on NCS

After deleting the object, you will notice that the bucket's size does not change.

Deleting Old Object Versions from a Bucket

If you want to permanently delete old object versions, follow these steps:

1. View hidden objects in the bucket

In Cyberduck, enable the option to show hidden files. This will allow you to see the versioned objects.

2. Delete the hidden objects from the bucket

When you delete the hidden objects (the old versions), the bucket's size will decrease accordingly.

3. Check the bucket's storage size on NCS.

Last updated

Was this helpful?