¿Por qué no funciona la regla del ciclo de vida de mi bucket de Amazon S3 a pesar de que la apliqué hace más de un día?

4 minutos de lectura
0

He establecido una regla de configuración del ciclo de vida en mi bucket de Amazon Simple Storage Service (Amazon S3) para pasar los objetos a otra clase de almacenamiento, eliminarlos o hacer que venzan. Sin embargo, los objetos no han cambiado según la regla. Necesito confirmar que la regla funciona para administrar los costes o para garantizar el cumplimiento.

Resolución

Una acción del ciclo de vida de S3 es asincrónica. Las acciones asincrónicas pueden retrasar la eliminación de un objeto después de la fecha de caducidad o transición de una regla de configuración del ciclo de vida. Sin embargo, una vez que cumple las condiciones de la regla del ciclo de vida, AWS cambia la facturación, incluso si la acción no está completa.

Las reglas del ciclo de vida de S3 se ejecutan solo una vez al día a medianoche UTC. Además, Amazon S3 redondea la fecha de transición o vencimiento de un objeto a la medianoche del día siguiente, UTC. Por ejemplo, crea un objeto el 1/1/2020 a las 10:30 UTC con una regla de ciclo de vida para hacer la transición del objeto transcurridos 3 días. Por lo tanto, la fecha de transición es el 5 de enero de 2020 a las 00:00 UTC.

Antes de comprobar si una regla de ciclo de vida está completa, compruebe que ha transcurrido suficiente tiempo. Si ha transcurrido suficiente tiempo y la regla de ciclo de vida no está completa, compruebe que ha configurado correctamente el filtro de prefijos para los objetos de la regla de ciclo de vida.

Los filtros de prefijos determinan los objetos a los que afecta la regla del ciclo de vida. Por ejemplo, si especifica un filtro de prefijos como images/, la regla del ciclo de vida solo se aplica a los objetos con el prefijo images/.

Nota: Asegúrese de especificar el carácter / al final del filtro de prefijos. Si especifica el carácter / al principio del filtro de prefijos, Amazon S3 no evalúa correctamente la regla del ciclo de vida.

Puede usar la API HeadObject, la interfaz de la línea de comandos de AWS (AWS CLI) o la consola de Amazon S3 para comprobar cuándo está programado el vencimiento de un objeto de la versión actual.

Nota: Si se muestran errores al poner en marcha comandos de AWS CLI, consulte Solución de errores de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Uso de la AWS CLI

Ejecute el siguiente comando head-object de AWS CLI para saber cuándo vence el objeto:

aws s3api head-object --bucket bucketname --key file.txt

Resultado de ejemplo:

 {     
 "AcceptRanges": "bytes",    
 "Expiration": "expiry-date=\"Wed, 15 Mar 2023 00:00:00 GMT\", rule-id=\"MyExpirationRule\"",    
 "LastModified": "2023-02-22T17:20:34+00:00",    
 "ContentLength": 6,    
 "ETag": "\"edae42exa0d2b93b123346740107dacf\"",    
 "VersionId": "SoshCRUrlabc1v4ZzYEA123PvWcaeF6F",    
 "ContentType": "text/plain",    
 "ServerSideEncryption": "AES256",    
 "Metadata": {}    
}

El encabezado de la respuesta Expiration proporciona la expiry-date y el rule-id. El campo expiry-date muestra la fecha en la que Amazon S3 pone en cola el objeto para su eliminación y lo elimina de forma asincrónica. El campo rule-id muestra la regla del ciclo de vida que ha aplicado al objeto.

Uso de la consola de Amazon S3

Siga estos pasos:

  1. Abra la consola de Amazon S3.
  2. En la lista de buckets, seleccione el nombre de su bucket.
  3. Seleccione el nombre del objeto que desee comprobar.
  4. Seleccione la pestaña Propiedades.
  5. En la sección Descripción general de la administración de objetos, en Configuraciones de administración, revise los campos Regla de vencimiento y Fecha de vencimiento.

El campo Fecha de vencimiento muestra la fecha en la que Amazon S3 pone en cola el objeto para su eliminación y lo elimina de forma asincrónica. El campo Regla de vencimiento muestra la regla de ciclo de vida que se aplica al objeto.

Nota: Solo los objetos de la versión actual devuelven el encabezado de respuesta Expiration para las solicitudes HEAD o GET. Las versiones anteriores y los marcadores de eliminación no devuelven este encabezado de respuesta. Además, no hay un encabezado de respuesta específico para comprobar la fecha de transición de los objetos que son aptos para las transiciones.

Información relacionada

Configuración del ciclo de vida de S3 de un bucket

¿Cómo superviso las acciones realizadas por mis reglas de ciclo de vida?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un mes