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:DeleteObjects3:DeleteObjectVersions3: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:lengthDate:dateAuthorization:authorization stringContent-MD5:MD5Lifecycle 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 |
Sí |
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: Tipo: Contenedor Antecesor: |
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: |
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 Antecesor: |
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: |
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.
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 |
Sí |
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 Antecesor: |
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 Antecesor: |
Sí |
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 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 |
Sí |
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 |
Sí |
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 |
Sí |
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 |
Sí 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
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 stringContent-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
NoncurrentVersionExpirationindica 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
NoncurrentVersionTransitionindica 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 stringContent-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.
Activos relacionados
-
De forma predeterminada, el propietario de un recurso (en este caso, el propietario del bucket, que es la Cuenta de AWS que creó el bucket) puede realizar cualquiera de las operaciones. El propietario del recurso también puede conceder permisos a otras personas para realizar la operación. Para obtener más información, consulte los siguientes temas en la Guía del usuario de Amazon Simple Storage Service: