View a markdown version of this page

Ciclo de vida de bucket PUT (obsoleto) - Amazon Simple Storage Service

Ciclo de vida de bucket PUT (obsoleto)

Descripción

importante

Para obtener una versión actualizada de esta API, consulte PutBucketLifecycleConfiguration. Esta versión ya no está disponible. Las configuraciones del ciclo de vida existentes funcionarán. Para las nuevas configuraciones del ciclo de vida, use la API actualizada.

Crea una nueva una configuración de ciclo de vida para el bucket o sustituye una configuración de ciclo de vida existente. Para obtener información sobre la configuración del ciclo de vida, consulte Administración del ciclo de vida de los objetos en la Guía del usuario de Amazon Simple Storage Service.

Permisos

De forma predeterminada, todos los recursos de Amazon S3, incluidos buckets, objetos y subrecursos relacionados (por ejemplo, configuración del ciclo de vida y del sitio web) son privados. Solo el propietario del recurso, la Cuenta de AWS que creó el recurso, puede acceder a este. El propietario del recurso puede conceder permisos de acceso opcionalmente a terceros si escribe una política de acceso. Para esta operación, los usuarios deben obtener el permiso s3:PutLifecycleConfiguration.

También puede denegar explícitamente los permisos. La denegación explícita también reemplaza cualquier otro permiso. Si desea impedir que los usuarios o las cuentas eliminen objetos del bucket, debe negarles los permisos para realizar las siguientes acciones:

  • s3:DeleteObject

  • s3:DeleteObjectVersion

  • s3:PutLifecycleConfiguration

Para obtener más información sobre los permisos, consulte Administración de los permisos de acceso a los recursos de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.

Solicitudes

Sintaxis

PUT /?lifecycle HTTP/1.1 Host: bucketname.s3.amazonaws.com Content-Length: length Date: date Authorization: authorization string Content-MD5: MD5 Lifecycle configuration in the request body

Para obtener información sobre las cadenas de autorización, consulte Autenticación de solicitudes (AWS Signature Version 4).

Parámetros de la solicitud

Esta aplicación de la operación no utiliza parámetros de solicitud.

Encabezados de solicitud

Nombre Descripción Obligatorio
Content-MD5

Resumen MD5 de 128 bits de los datos cifrados en base64. Debe utilizar este encabezado como comprobación de la integridad del mensaje para comprobar que el cuerpo de la solicitud no se dañó durante el tránsito. Para obtener más información, consulte RFC 1864.

Tipo: cadena

Valor predeterminado: None

Cuerpo de la solicitud

En la solicitud, debe especificar la configuración del ciclo de vida en el cuerpo de la solicitud. La configuración del ciclo de vida se especifica como XML. A continuación, se muestra un ejemplo de configuración de un ciclo de vida básico. Especifica una regla. Prefix en la regla identifica los objetos a los que se aplica la regla. La regla también especifica dos acciones (Transition y Expiration). Cada acción especifica un cronograma en el que Amazon S3 debe realizar la acción. Status indica si la regla está habilitada o desactivada.

<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>key-prefix</Prefix> <Status>rule-status</Status> <Transition>       <Date>value</Date>       <StorageClass>storage class</StorageClass>     </Transition> <Expiration> <Days>value</Days> </Expiration> </Rule> </LifecycleConfiguration>

Si el estado del bucket es control de versiones habilitado o control de versiones suspendido, puede tener muchas versiones del mismo objeto: una versión actual y ninguna o varias versiones no actuales. La configuración siguiente del ciclo de vida especifica las acciones (NoncurrentVersionTransition, NoncurrentVersionExpiration) que son específicas de las versiones de objetos no actuales.

<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>key-prefix</Prefix> <Status>rule-status</Status> <NoncurrentVersionTransition> <NoncurrentDays>value</NoncurrentDays> <StorageClass>storage class</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NoncurrentDays>value</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>

Puede usar la interfaz de programa de aplicación (API, Application Program Interface) de carga multiparte para cargar objetos grandes en partes. Para obtener más información acerca de las cargas multiparte, consulte Información general de carga multiparte en la Guía del usuario de Amazon Simple Storage Service. Con la configuración del ciclo de vida, puede indicar a Amazon S3 que cancele las cargas multiparte incompletas, identificadas por el prefijo de nombre de clave especificado en la regla, si no se completan en una cantidad de días especificada. Cuando Amazon S3 cancela una carga multiparte, elimina todas las partes asociadas con la carga. Esto garantiza que no tenga cargas multiparte incompletas que tengan partes incompletas almacenadas en Amazon S3 y, por lo tanto, que no tenga que pagar costos de almacenamiento por ellas. El siguiente es un ejemplo de configuración de ciclo de vida que especifica una regla con la acción AbortIncompleteMultipartUpload. Esta acción indica a Amazon S3 que cancele las cargas multiparte incompletas siete días después de iniciarse.

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

En las siguientes tablas, se describen los elementos XML de la configuración de ciclo de vida.

Nombre Descripción Obligatorio
AbortIncompleteMultipartUpload

Contenedor para especificar cuándo una carga multiparte incompleta pasa a ser apta para una operación de anulación.

Elemento secundario: DaysAfterInitiation

Tipo: Contenedor

Antecesor: Rule

Sí, si no se especifica ninguna otra acción para la regla
Date

La fecha en la que desea que Amazon S3 realice la acción. Para obtener más información, consulte Reglas de ciclo de vida: en función de una fecha específica en la Guía del usuario de Amazon Simple Storage Service.

El valor de la fecha debe estar en formato ISO 8601. La hora siempre es medianoche UTC.

Tipo: cadena

Antecesor: Expiration o Transition

Sí, si Days y ExpiredObjectDeleteMarker están ausentes
Days

Especifica el número de días después de la creación del objeto cuando entra en vigor la acción de regla específica.

Tipo: entero no negativo cuando se usa con Transition, entero positivo cuando se usa con Expiration

Antecesor: Expiration, Transition

Sí, si Date y ExpiredObjectDeleteMarker están ausentes
DaysAfterInitiation

Especifica el número de días después de iniciar una carga multiparte en los que debe completarse la carga multiparte. Si no se completa en el número de días especificado, se podrá aplicar una operación de anulación y Amazon S3 cancela la carga multiparte incompleta.

Tipo: entero positivo

Antecesor: AbortIncompleteMultipartUpload

Sí, si se especifica una etiqueta principal
Expiration

Esta acción especifica un periodo de la vida útil de un objeto en el que Amazon S3 debe llevar a cabo la acción de caducidad adecuada. La acción que tome Amazon S3 depende de si el bucket tiene habilitado el control de versiones.

  • Si el control de versiones nunca se ha habilitado en el bucket, Amazon S3 elimina la única copia del objeto de forma permanente.

  • Si el bucket tiene el control de versiones habilitado (o el control de versiones está suspendido), la acción se aplica solo a la versión actual del objeto. Un bucket con el control de versiones habilitado puede tener muchas versiones del mismo objeto: una versión actual y ninguna o varias versiones no actuales.

    En lugar de eliminar la versión actual, Amazon S3 la convierte en una versión no actual agregándole un marcador de eliminación como la nueva versión actual.

    importante

    Si el estado de un bucket es con el control de versiones suspendido, Amazon S3 crea un marcador de eliminación con el ID de versión null. Si tiene una versión con un ID de versión null, Amazon S3 sobrescribe esa versión.

    nota

    Para establecer la caducidad de los objetos no actuales, utilice la acción NoncurrentVersionExpiration.

Tipo: Contenedor

Secundario: Días o Fecha

Antecesor: Rule

Sí, si no hay ninguna otra acción presente en la Rule.
ID

Identificador único de la regla. El valor no puede tener más de 255 caracteres.

Tipo: cadena

Antecesor: Rule

No
LifecycleConfiguration

Contenedor para las reglas del ciclo de vida. Puede añadir hasta 1000 reglas.

Tipo: Contenedor

Secundario: Regla

Ancestor: ninguno

ExpiredObjectDeleteMarker

En un bucket con control de versiones (un bucket con el control de versiones habilitado o suspendido), puede agregar este elemento en la configuración del ciclo de vida para indicar a Amazon S3 que elimine los marcadores de eliminación de objetos caducados. Para ver un ejemplo, consulte Ejemplo 8: Eliminación de marcadores de eliminación de objetos caducados en la Guía del usuario de Amazon Simple Storage Service. No lo agregue a un bucket sin control de versiones, ya que ese tipo de bucket no puede incluir marcadores de eliminación.

Tipo: cadena

Valores válidos: true | false (el valor false está permitido, pero no es operativo, lo que significa que Amazon S3 no realizará ninguna acción)

Antecesor: Expiration

Sí, si Date y Days están ausentes
NoncurrentDays

Especifica el número de días que un objeto no es actual antes de Amazon S3 pueda realizar la acción asociada. Para obtener información acerca de los cálculos de los días no actuales, consulte Cómo calcula Amazon S3 el tiempo que un objeto lleva siendo no actual en la Guía del usuario de Amazon Simple Storage Service.

Tipo: entero no negativo cuando se usa con NoncurrentVersionTransition, entero positivo cuando se usa con NoncurrentVersionExpiration

Antecesor: NoncurrentVersionExpiration o NoncurrentVersionTransition

NoncurrentVersionExpiration

Especifica cuándo expiran las versiones de objetos no actuales. Cuando expiran, Amazon S3 elimina de forma permanente las versiones de objetos no actuales.

Establezca esta acción de configuración del ciclo de vida en un bucket que tenga habilitado (o suspendido) el control de versiones para indicar a Amazon S3 que elimine las versiones de objetos no actuales en un periodo específico de la vida útil del objeto.

Tipo: Contenedor

Secundario: NoncurrentDays

Antecesor: Rule

Sí, si no hay ninguna otra acción presente en la Rule
NoncurrentVersionTransition

Contenedor de la regla de transición que describe cuándo los objetos no actuales se transfieren a STANDARD_IA, ONEZONE_IA o clase de almacenamiento.

Si el bucket tiene habilitado (o suspendido) el control de versiones, puede establecer esta acción para indicar a Amazon S3 que transfiera las versiones de objetos no actuales en periodo específico de la vida útil del objeto.

Tipo: Contenedor

Secundario: NoncurrentDays y StorageClass

Antecesor: Rule

Sí, si no hay ninguna otra acción presente en la Rule
Prefix

Prefijo de clave de objeto que identifica uno o varios objetos a los que se aplica la regla.

Tipo: cadena

Antecesor: Rule

Rule

Contenedor para una regla del ciclo de vida. Una configuración de ciclo de vida puede contener hasta 1000 reglas.

Tipo: Contenedor

Antecesor: LifecycleConfiguration

Status

Si está habilitada, Amazon S3 ejecuta la regla según lo programado. Si está desactivada, Amazon S3 ignora la regla.

Tipo: cadena

Antecesor: Rule

Valores válidos: habilitado, desactivado

StorageClass

Especifica la clase de almacenamiento de Amazon S3 a la que quiere que pase el objeto.

Tipo: cadena

Antecesor: Transition y NoncurrentVersionTransition

Valores válidos: STANDARD_IA | ONEZONE_IA | GLACIER

Este elemento solo es necesario si especifica uno o ambos de sus antecesores.

Transition

Esta acción especifica un periodo de la vida útil de los objetos en el que Amazon S3 debe hacer la transición a STANDARD_IA, ONEZONE_IA o clase de almacenamiento. Cuando esta acción esté en vigor, lo que haga Amazon S3 dependerá de si el bucket tiene habilitado el control de versiones.

  • Si el control de versiones no se habilitado nunca en el bucket, Amazon S3 pasa la única copia del objeto a la clase de almacenamiento especificada.

  • Si el bucket tiene habilitado (o suspendido) el control de versiones, Amazon S3 pasa solo las versiones actuales de los objetos identificados en la regla.

    nota

    El bucket con control de versiones habilitado puede tener muchas versiones de un objeto. Esta acción no afecta a las versiones de objetos no actuales. Para realizar la transición de objetos no actuales, debe utilizar la acción NoncurrentVersionTransition.

Tipo: Contenedor

Secundario: Días o Fecha y StorageClass

Antecesor: Rule

Sí, si no hay ninguna otra acción presente en la Rule

Respuestas

Encabezados de respuesta

Esta implementación de la operación solo usa encabezados de respuesta que sean comunes a la mayoría de las respuestas. Para obtener más información, consulte Encabezados de respuesta comunes.

Elementos de respuesta

Esta implementación de la operación no devuelve elementos de respuesta.

Errores especiales

Esta implementación de la operación no devuelve errores especiales. Para obtener información sobre los errores de Amazon S3 y una lista de códigos de error, consulte Respuestas de error.

Ejemplos

Ejemplo 1: Agregar la configuración del ciclo de vida a un bucket que no tenga habilitado el control de versiones

La configuración de ciclo de vida siguiente especifica dos reglas, cada una con una acción.

  • La acción de transición indica a Amazon S3 que realice la transición de los objetos con el prefijo “documents/” a la clase de almacenamiento 30 días después de su creación.

  • La acción de caducidad indica a Amazon S3 que elimine los objetos con el prefijo “logs/” 365 días después de su creación.

<LifecycleConfiguration> <Rule> <ID>id1</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>id2</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>

A continuación, se muestra una solicitud PUT /?lifecycle de ejemplo que agrega la configuración del ciclo de vida anterior al bucket examplebucket.

PUT /?lifecycle HTTP/1.1 Host: examplebucket.s3.amazonaws.com x-amz-date: Wed, 14 May 2014 02:11:21 GMT Content-MD5: q6yJDlIkcBaGGfb3QLY69A== Authorization: authorization string Content-Length: 415 <LifecycleConfiguration> <Rule> <ID>id1</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>id2</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>

A continuación, se muestra una respuesta de ejemplo.

HTTP/1.1 200 OK x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc x-amz-request-id: 9E26D08072A8EF9E Date: Wed, 14 May 2014 02:11:22 GMT Content-Length: 0 Server: AmazonS3

Ejemplo 2: Agregar la configuración del ciclo de vida a un bucket con el control de versiones habilitado

La configuración de ciclo de vida siguiente especifica dos reglas, cada una con una acción para que realice Amazon S3. Debe especificar estas acciones cuando el bucket tenga el control de versiones habilitado o suspendido:

  • La acción NoncurrentVersionExpiration indica a Amazon S3 que caduque las versiones no actuales de los objetos con el prefijo “logs/” 100 días después de que los objetos pasen a ser no actuales.

  • La acción NoncurrentVersionTransition indica a Amazon S3 que pase las versiones no actuales de los objetos con el prefijo “documents/” a la clase de almacenamiento 30 días después de convertirse en no actuales.

<LifeCycleConfiguration> <Rule> <ID>DeleteAfterBecomingNonCurrent</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>100</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> <Rule> <ID>TransitionAfterBecomingNonCurrent</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>30</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> </Rule> </LifeCycleConfiguration>

A continuación, se muestra una solicitud PUT /?lifecycle de ejemplo que agrega la configuración del ciclo de vida anterior al bucket examplebucket.

PUT /?lifecycle HTTP/1.1 Host: examplebucket.s3.amazonaws.com x-amz-date: Wed, 14 May 2014 02:21:48 GMT Content-MD5: 96rxH9mDqVNKkaZDddgnw== Authorization: authorization string Content-Length: 598 <LifeCycleConfiguration> <Rule> <ID>DeleteAfterBecomingNonCurrent</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>1</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> <Rule> <ID>TransitionSoonAfterBecomingNonCurrent</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>0</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> </Rule> </LifeCycleConfiguration>

A continuación, se muestra una respuesta de ejemplo.

HTTP/1.1 200 OK x-amz-id-2: aXQ+KbIrmMmoO//3bMdDTw/CnjArwje+J49Hf+j44yRb/VmbIkgIO5A+PT98Cp/6k07hf+LD2mY= x-amz-request-id: 02D7EC4C10381EB1 Date: Wed, 14 May 2014 02:21:50 GMT Content-Length: 0 Server: AmazonS3

Ejemplos adicionales

Para ver más ejemplos de la transición de objetos a clases de almacenamiento, como STANDARD_IA o ONEZONE_IA, consulte Ejemplos de configuración del ciclo de vida.