The versioning configuration of a bucket has different implications for each operation performed on that bucket or for objects within that bucket. For instance, when versioning is enabled, a PutObject operation creates a unique object version-id for the object being uploaded. The PutObject API guarantees that, if versioning is enabled for a bucket at the time of the request, the new object can only be permanently deleted using the DeleteVersion operation. It can never be overwritten. Additionally, PutObject guarantees that, if versioning is enabled for a bucket the request, no other object will be overwritten by that request. Refer to the documentation sections for each API for information on how versioning status affects the semantics of that particular API.
S3 is eventually consistent. It may take time for the versioning status of a bucket to be propagated throughout the system. @see AmazonS3#getBucketVersioningConfiguration(String) @see AmazonS3#setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest)
|
|