Eliminar versiones de objetos de un bucket con control de versiones habilitado
Puede eliminar versiones de objetos de los buckets de Amazon S3 siempre que lo desee. Además, también puede definir normas de configuración de ciclo de vida para objetos que tengan un ciclo de vida bien definido, de modo que solicite a Amazon S3 expirar versiones de objetos actuales o eliminar permanentemente versiones de objetos no actuales. Cuando en su bucket está habilitado o suspendido el control de versiones, las acciones de configuración de ciclo de vida funcionan así:
-
La
Expiration
acción se aplica a la versión actual del objeto. En lugar de eliminar la versión actual, Amazon S3 conserva la versión actual como versión no actual agregándole un marcador de eliminación, con lo cual se convierte en la versión actual. -
La acción
NoncurrentVersionExpiration
se aplica a las versiones no actuales del objeto, y Amazon S3 elimina permanentemente estas versiones de objeto. No puede recuperar objetos eliminados permanentemente.
Para obtener más información acerca del ciclo de vida de S3, consulte Administración del ciclo de vida de los objetos y Ejemplos de configuraciones de S3 Lifecycle.
Para ver cuántas versiones de objetos actuales y no actuales tienen los buckets, puede usar las métricas de Lente de almacenamiento de Amazon S3. Lente de almacenamiento de S3 es una función de análisis de almacenamiento en la nube que puede utilizar para obtener visibilidad en toda la organización sobre el uso y la actividad del almacenamiento de objetos. Para obtener más información, consulte Uso de Lente de almacenamiento de S3 para optimizar los costos de almacenamiento. Para obtener una lista completa de las métricas, consulte el Glosario de métricas de Lente de almacenamiento de S3.
nota
Se aplican tasas normales de Amazon S3 por cada versión de un objeto almacenado y transferido, incluidas las versiones de objetos no actuales. Para obtener más información, consulte Precios de Amazon S3
Eliminar casos de uso de solicitudes
Una solicitud DELETE
presenta los siguientes casos de uso:
-
Cuando está habilitado el control de versiones, un
DELETE
simple no puede eliminar permanentemente un objeto. (Una solicitudDELETE
simple es una solicitud que no especifica un ID de versión). En su lugar, Amazon S3 inserta un marcador de eliminación en el bucket, y ese marcador se convierte en la versión actual del objeto con un nuevo ID.Cuando intenta
GET
un objeto cuya versión actual es un marcador de eliminación, Amazon S3 se comporta como si el objeto se hubiera eliminado (aunque no sea el caso) y devuelve un error 404. Para obtener más información, consulte Trabajar con marcadores de eliminación.El siguiente gráfico muestra cómo una solicitud
DELETE
simple no elimina realmente el objeto especificado. En su lugar, Amazon S3 inserta un marcador de eliminación. -
Para eliminar de forma permanente objetos con control de versiones, debe usar
DELETE Object versionId
.El siguiente gráfico muestra cómo la eliminación de una versión de objeto específica elimina permanentemente el objeto.
Para eliminar versiones de objetos
Puede eliminar versiones de objetos en Amazon S3 mediante la consola, los SDK de AWS, la API de REST o AWS Command Line Interface.
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.
-
En la lista Objects (Objetos), elija el nombre del objeto.
-
Elija Versions (Versiones).
Amazon S3 muestra todas las versiones del objeto.
-
Active la casilla de verificación situada junto al ID de versión de las versiones que desea eliminar de manera permanente.
-
Elija Eliminar.
-
En Permanently delete objects? (¿Eliminar objetos de forma permanente?) , ingrese
permanently delete
.aviso
Cuando elimina de forma permanente una versión de un objeto, la acción no se puede deshacer.
-
Elija Eliminar objetos.
Amazon S3 elimina la versión del objeto.
Para ver ejemplos de cómo eliminar objetos con los AWS SDK para Java, .NET y PHP, consulte Eliminación de objetos de Amazon S3. Los ejemplos para eliminar objetos en buckets sin control de versiones y habilitados para la control de versiones son los mismos. Sin embargo, para los buckets habilitados para el control de versiones, Amazon S3 asigna un número de versión. De lo contrario, el número de versión es un valor nulo.
Para obtener información acerca del uso de otros SDK de AWS, consulte el Centro de desarrolladores de AWS
Para eliminar una versión específica de un objeto
-
En un
DELETE
, especifique un ID de versión.
ejemplo — Eliminar una versión específica
En el ejemplo siguiente se elimina la versión UIORUnfnd89493jJFJ
de photo.gif
.
DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0
El comando siguiente elimina un objeto denominado test.txt de un bucket denominado
. Para quitar una versión específica de un objeto, debe ser el propietario del bucket y debe utilizar el subrecurso de del identificador de versión.amzn-s3-demo-bucket1
aws s3api delete-object --bucket
amzn-s3-demo-bucket1
--key test.txt --version-idversionID
Para obtener más información sobre delete-object
, consulte delete-object en la Referencia de los comandos de AWS CLI.
Para obtener más información sobre cómo eliminar versiones de objetos, consulte los siguientes temas: