

# Ciclo de vida de bucket PUT (obsoleto)
<a name="v1-rel-RESTBucketPUTlifecycle"></a>

## Descripción
<a name="v1-rel-RESTBucketPUTlifecycle-description"></a>

 

**importante**  
Para obtener una versión actualizada de esta API, consulte [PutBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html). 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) en la *Guía del usuario de Amazon Simple Storage Service*.

### Permisos
<a name="v1-rel-put-object-lifecycle-permissions"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) en la *Guía del usuario de Amazon Simple Storage Service*. 

## Solicitudes
<a name="v1-rel-RESTBucketPUTlifecycle-requests"></a>

### Sintaxis
<a name="v1-rel-RESTBucketPUTlifecycle-requests-syntax"></a>

```
1. PUT /?lifecycle HTTP/1.1
2. Host: {{bucketname}}.s3.amazonaws.com
3. Content-Length: {{length}}
4. Date: {{date}}
5. Authorization: {{authorization string}} 
6. Content-MD5: {{MD5}}
7. 
8. {{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)](sig-v4-authenticating-requests.md).

### Parámetros de la solicitud
<a name="v1-rel-RESTBucketPUTlifecycle-requests-request-parameters"></a>

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

### Encabezados de solicitud
<a name="v1-rel-RESTBucketPUTlifecycle-requests-request-headers"></a>


|  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](http://www.ietf.org/rfc/rfc1864.txt).<br />Tipo: cadena <br />Valor predeterminado: None |  Sí  | 

### Cuerpo de la solicitud
<a name="v1-rel-RESTBucketPUTlifecycle-requests-request-elements"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) 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. <br />Elemento secundario: `DaysAfterInitiation`<br />Tipo: Contenedor<br />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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#intro-lifecycle-rules-date) en la *Guía del usuario de Amazon Simple Storage Service*.<br />El valor de la fecha debe estar en formato ISO 8601. La hora siempre es medianoche UTC. <br />Tipo: cadena<br />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. <br />Tipo: entero no negativo cuando se usa con `Transition`, entero positivo cuando se usa con `Expiration`<br />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.<br />Tipo: entero positivo<br />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.  <br />+  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. <br />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.  <br />  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.    Para establecer la caducidad de los objetos no actuales, utilice la acción `NoncurrentVersionExpiration`.  <br />Tipo: Contenedor<br />Secundario: Días o Fecha<br />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.<br />Tipo: cadena<br />Antecesor: Rule | No | 
| LifecycleConfiguration | Contenedor para las reglas del ciclo de vida. Puede añadir hasta 1000 reglas.<br />Tipo: Contenedor<br />Secundario: Regla<br />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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-config-conceptual-ex8) 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. <br />Tipo: cadena <br />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)<br />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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) en la *Guía del usuario de Amazon Simple Storage Service*.<br />Tipo: entero no negativo cuando se usa con `NoncurrentVersionTransition`, entero positivo cuando se usa con `NoncurrentVersionExpiration`<br />Antecesor: `NoncurrentVersionExpiration` o `NoncurrentVersionTransition` | 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. <br />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.<br />Tipo: Contenedor<br />Secundario: NoncurrentDays <br />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. <br />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.<br />Tipo: Contenedor<br />Secundario: NoncurrentDays y StorageClass<br />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.<br />Tipo: cadena<br />Antecesor: Rule | Sí | 
| Rule  | Contenedor para una regla del ciclo de vida. Una configuración de ciclo de vida puede contener hasta 1000 reglas. <br />Tipo: Contenedor<br />Antecesor: LifecycleConfiguration | Sí | 
|  Status  | Si está habilitada, Amazon S3 ejecuta la regla según lo programado. Si está desactivada, Amazon S3 ignora la regla.<br />Tipo: cadena<br />Antecesor: Rule<br />Valores válidos: habilitado, desactivado | Sí | 
|  StorageClass  | Especifica la clase de almacenamiento de Amazon S3 a la que quiere que pase el objeto. <br />Tipo: cadena<br />Antecesor: Transition y NoncurrentVersionTransition<br />Valores válidos: STANDARD\_IA \| ONEZONE\_IA \| GLACIER  | Sí<br />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.  <br />+  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. <br />  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`.  <br />Tipo: Contenedor<br />Secundario: Días o Fecha y StorageClass<br />Antecesor: Rule | Sí, si no hay ninguna otra acción presente en la Rule | 

## Respuestas
<a name="v1-rel-RESTBucketPUTlifecycle-responses"></a>

### Encabezados de respuesta
<a name="v1-rel-RESTBucketPUTlifecycle-responses-response-headers"></a>

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](RESTCommonResponseHeaders.md).

### Elementos de respuesta
<a name="v1-rel-RESTBucketPUTlifecycle-responses-response-elements"></a>

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

### Errores especiales
<a name="v1-rel-RESTBucketPUTlifecycle-responses-special-errors"></a>

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](ErrorResponses.md).

## Ejemplos
<a name="v1-rel-RESTBucketPUTlifecycle-examples"></a>

### Ejemplo 1: Agregar la configuración del ciclo de vida a un bucket que no tenga habilitado el control de versiones
<a name="v1-rel-put-bucket-lifecycle-ex1"></a>

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.

```
 1. <LifecycleConfiguration>
 2.   <Rule>
 3.     <ID>id1</ID>
 4.     <Prefix>documents/</Prefix>
 5.     <Status>Enabled</Status>
 6.     <Transition>
 7.       <Days>30</Days>
 8.       <StorageClass>GLACIER</StorageClass>
 9.     </Transition>
10.   </Rule>
11.   <Rule>
12.     <ID>id2</ID>
13.     <Prefix>logs/</Prefix>
14.     <Status>Enabled</Status>
15.     <Expiration>
16.       <Days>365</Days>
17.     </Expiration>
18.   </Rule>
19. </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`.

```
 1. PUT /?lifecycle HTTP/1.1
 2. Host: examplebucket.s3.amazonaws.com 
 3. x-amz-date: Wed, 14 May 2014 02:11:21 GMT
 4. Content-MD5: q6yJDlIkcBaGGfb3QLY69A==
 5. Authorization: {{authorization string}}
 6. Content-Length: 415
 7. 
 8. <LifecycleConfiguration>
 9.   <Rule>
10.     <ID>id1</ID>
11.     <Prefix>documents/</Prefix>
12.     <Status>Enabled</Status>
13.     <Transition>
14.       <Days>30</Days>
15.       <StorageClass>GLACIER</StorageClass>
16.     </Transition>
17.   </Rule>
18.   <Rule>
19.     <ID>id2</ID>
20.     <Prefix>logs/</Prefix>
21.     <Status>Enabled</Status>
22.     <Expiration>
23.       <Days>365</Days>
24.     </Expiration>
25.   </Rule>
26. </LifecycleConfiguration>
```

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

 

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

### Ejemplo 2: Agregar la configuración del ciclo de vida a un bucket con el control de versiones habilitado
<a name="v1-rel-put-bucket-lifecycle-ex2"></a>

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.

```
 1. <LifeCycleConfiguration>
 2.   <Rule>
 3.     <ID>DeleteAfterBecomingNonCurrent</ID>
 4.     <Prefix>logs/</Prefix>
 5.     <Status>Enabled</Status>
 6.     <NoncurrentVersionExpiration>
 7.       <NoncurrentDays>100</NoncurrentDays>
 8.     </NoncurrentVersionExpiration>
 9.   </Rule>
10.   <Rule>
11.     <ID>TransitionAfterBecomingNonCurrent</ID>
12.     <Prefix>documents/</Prefix>
13.     <Status>Enabled</Status>
14.     <NoncurrentVersionTransition>
15.       <NoncurrentDays>30</NoncurrentDays>
16.       <StorageClass>GLACIER</StorageClass>
17.     </NoncurrentVersionTransition>
18.   </Rule>
19. </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`.

```
 1. PUT /?lifecycle HTTP/1.1
 2. Host: examplebucket.s3.amazonaws.com 
 3. x-amz-date: Wed, 14 May 2014 02:21:48 GMT
 4. Content-MD5: 96rxH9mDqVNKkaZDddgnw==
 5. Authorization: {{authorization string}}
 6. Content-Length: 598
 7. 
 8. <LifeCycleConfiguration>
 9.   <Rule>
10.     <ID>DeleteAfterBecomingNonCurrent</ID>
11.     <Prefix>logs/</Prefix>
12.     <Status>Enabled</Status>
13.     <NoncurrentVersionExpiration>
14.       <NoncurrentDays>1</NoncurrentDays>
15.     </NoncurrentVersionExpiration>
16.   </Rule>
17.   <Rule>
18.     <ID>TransitionSoonAfterBecomingNonCurrent</ID>
19.     <Prefix>documents/</Prefix>
20.     <Status>Enabled</Status>
21.     <NoncurrentVersionTransition>
22.       <NoncurrentDays>0</NoncurrentDays>
23.       <StorageClass>GLACIER</StorageClass>
24.     </NoncurrentVersionTransition>
25.   </Rule>
26. </LifeCycleConfiguration>
```

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

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

### Ejemplos adicionales
<a name="v1-rel-put-bucket-lifecycle-ex3"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-configuration-examples).

## Activos relacionados
<a name="v1-rel-RESTObjectPOSTrestore-responses-related-resources"></a>
+ [GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)
+ [POST Object restore](RESTObjectPOSTrestore.md)
+  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*:
  +  [Especificación de permisos en una política](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html)
  + [Administración de permisos de acceso para los recursos de Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)