Versioning
Versioning enables us to store different versions of an object. It helps us to store, retrieve, and restore old objects. This can be useful when we accidentally delete or modify an object. In such a case, we can restore the last stable object. If we delete an object, Amazon S3 inserts a delete marker for that object rather than deleting it permanently. If we overwrite the object, Amazon S3 creates a new version of the same.
Versioning can be done in any of the following states:
- Unversioned—the default
- Versioning enabled
- Versioning-suspended
To enable versioning, click on the bucket and under the Properties tab, click on the Versioning tree:
When we click on Enable Versioning, it asks for confirmation. Since storing many versions of an object would cost a lot, it is better to define the lifecycle rules for the object.