After a storage class conversion, the storage usage of the destination class increases but the source class usage remains unchanged. Learn the causes and how to resolve this issue.
Description
After the storage class is converted, the storage usage of the destination class increases but the source class usage remains unchanged.
Possible causes
When you call CopyObject to convert the storage class, the destination class usage increases but the source class usage remains unchanged if one of the following conditions is met:
-
Versioning is not enabled for the bucket, and the names of the source and destination objects are different.
-
Versioning is enabled for the bucket, and the names of the source and destination objects are the same or different.
Solutions
Use one of the following methods to convert the storage class so that the source class usage decreases as expected.
-
Configure a lifecycle rule to convert the storage class of the source objects.
-
Call CopyObject to convert the storage class of the source objects.
-
In an unversioned bucket: If the names of the source and destination objects are the same, no additional configuration is required. If the names of the source and destination objects are different, you need to delete the source object manually after the object is copied.
-
In a versioned bucket: You need to delete the source object manually after the object is copied regardless of whether the names of the source and destination objects are the same.
Important-
If the storage class of the source objects or the specified version of the objects is Infrequent Access (IA), Archive, Cold Archive, or Deep Cold Archive, and the objects are deleted before their minimum storage duration ends, you are charged extra fees. For more information, see How am I charged for objects whose storage duration is less than the minimum storage duration?
-
After the source objects or the specified version of the objects are deleted, they cannot be restored. Exercise caution when you perform this operation.
-