Configuración de una política de ciclo de vida del bucket para eliminar cargas multiparte incompletas - Amazon Simple Storage Service

Configuración de una política de ciclo de vida del bucket para eliminar cargas multiparte incompletas

Como práctica recomendada, configure una regla de ciclo de vida con la acción AbortIncompleteMultipartUpload para reducir los costos de almacenamiento. Para obtener más información sobre cómo anular una carga de varias partes, consulte Anulación de la carga multiparte.

Amazon S3 admite una regla de ciclo de vida del bucket que puede utilizar para que Amazon S3 pare las cargas multiparte que no están completas dentro de un número especificado de días después de iniciarse. Cuando una carga multiparte no se completa en el plazo especificado, pasa a ser apta para una operación de cancelación. Cuando Amazon S3 detiene una carga multiparte y elimina todas las partes asociadas con la carga multiparte. Esta regla se aplica tanto a las cargas multiparte existentes como a las que cree más adelante.

El siguiente es un ejemplo de configuración de ciclo de vida que especifica una regla con la acción AbortIncompleteMultipartUpload.

<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix></Prefix> <Status>Enabled</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>7</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration>

En el ejemplo, la regla no especifica un valor para el elemento Prefix (el prefijo de nombre de clave de objeto). Por lo tanto, la regla se aplica a todos los objetos del bucket para los que se han iniciado cargas multiparte. Las cargas multiparte que se iniciaron y no se completaron en siete días son aptas para una operación de anulación. La acción de anulación no afecta a las cargas multiparte completadas.

Para obtener más información acerca de la configuración del ciclo de vida del bucket, consulte Administración del ciclo de vida de los objetos.

nota

Si la carga multiparte se completa dentro de un periodo especificado de días en la regla, la acción de ciclo de vida AbortIncompleteMultipartUpload no aplica (es decir, Amazon S3 no realizará acciones). Además, esta acción no aplica a los objetos. Esta acción de ciclo de vida no elimina objetos. Además, no se te cobrará por la eliminación anticipada de S3 Lifecycle si eliminas cualquier parte de carga multiparte incompleta.

Para administrar automáticamente las cargas multiparte incompletas, puede usar la consola de S3 para crear una regla de ciclo de vida para hacer vencer bytes de carga multiparte incompletos del bucket después de un número especificado de días. En el procedimiento siguiente se muestra cómo agregar una regla del ciclo de vida para eliminar cargas multiparte incompletas después de 7 días. Para obtener más información sobre cómo agregar reglas del ciclo de vida, consulte Configuración de un ciclo de vida en un bucket.

Para agregar una regla del ciclo de vida para cancelar las cargas multiparte incompletas que tengan más de 7 días
  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets, seleccione el nombre del bucket para el que desea crear una regla de ciclo de vida.

  3. Seleccione la pestaña Management (Administración) y seleccione Create lifecycle rule (Crear regla de ciclo de vida).

  4. En Lifecycle rule name (Nombre de regla de ciclo de vida), escriba un nombre para la regla.

    El nombre debe ser único dentro del bucket.

  5. Elija el ámbito de la regla de ciclo de vida:

    • Para crear una regla del ciclo de vida para todos los objetos con un prefijo específico, elija Limit the scope of this rule using one or more filters (Limitar el alcance de esta regla mediante uno o varios filtros) e ingrese el prefijo en el campo Prefix (Prefijo).

    • Para crear una regla de ciclo de vida para todos los objetos del bucket, elija This rule applies to all objects in the bucket (Esta regla se aplica a todos los objetos del bucket) y elija I acknowledge that this rule applies to all objects in the bucket (Reconozco que esta regla se aplica a todos los objetos del bucket).

  6. En Lifecycle rule actions (Acciones de reglas del ciclo de vida), seleccione Delete expired object delete markers or incomplete multipart uploads (Eliminar marcadores de eliminación de objetos vencidos o cargas multiparte incompletas).

  7. En Delete expired object delete markers or incomplete multipart uploads (Eliminar marcadores de eliminación de objetos vencidos o cargas multiparte incompletas), seleccione Delete incomplete multipart uploads (Eliminar cargas multiparte incompletas).

  8. En el campo Number of days (Número de días), ingrese el número de días transcurridos después de eliminar cargas multiparte incompletas (por ejemplo, 7 días).

  9. Elija Crear regla.

El siguiente comando put-bucket-lifecycle-configuration de la AWS Command Line Interface (AWS CLI) agrega la configuración del ciclo de vida para el bucket especificado. Para usar este comando, sustituya user input placeholders por la información.

aws s3api put-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket1  \ --lifecycle-configuration filename-containing-lifecycle-configuration

El siguiente ejemplo muestra cómo agregar una regla del ciclo de vida para anular las cargas multiparte incompletas mediante la AWS CLI. Incluye una configuración del ciclo de vida de JSON de ejemplo para anular las cargas multiparte incompletas que tengan más de 7 días de antigüedad.

Para usar los comandos de la CLI de este ejemplo, sustituya user input placeholders por la información.

Para agregar una regla del ciclo de vida para cancelar las cargas multiparte incompletas
  1. Configure AWS CLI. Para obtener instrucciones, consulte Desarrollo con Amazon S3 mediante la AWS CLI.

  2. Guarde la configuración del ciclo de vida de ejemplo siguiente en un archivo (por ejemplo, lifecycle.json). La configuración de ejemplo especifica un prefijo vacío y, por lo tanto, se aplica a todos los objetos del bucket. Para restringir la configuración a un subconjunto de objetos, puede especificar un prefijo.

    { "Rules": [ { "ID": "Test Rule", "Status": "Enabled", "Filter": { "Prefix": "" }, "AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 } } ] }
  3. Ejecute el siguiente comando de la CLI para establecer esta configuración del ciclo de vida en el bucket.

    aws s3api put-bucket-lifecycle-configuration   \ --bucket amzn-s3-demo-bucket1  \ --lifecycle-configuration file://lifecycle.json
  4. Para comprobar que la configuración del ciclo de vida se ha establecido en el bucket, recupere la configuración del ciclo de vida mediante el siguiente comando get-bucket-lifecycle.

    aws s3api get-bucket-lifecycle  \ --bucket amzn-s3-demo-bucket1
  5. Para eliminar la configuración del ciclo de vida, utilice el comando delete-bucket-lifecycle siguiente.

    aws s3api delete-bucket-lifecycle \ --bucket amzn-s3-demo-bucket1