Cree reglas de ciclo de vida con base en la fecha de última modificación o de último acceso. Estas reglas convierten periódicamente la clase de almacenamiento de los objetos de un bucket o eliminan los objetos y las partes caducados para ahorrar costos de almacenamiento. En este tema se describe cómo llamar a la operación PutBucketLifecycle para configurar una regla de ciclo de vida en un bucket.
Notas
-
La operación PutBucketLifecycle sobrescribe las reglas de ciclo de vida existentes. Por ejemplo, si un bucket tiene una regla llamada Rule1 y desea agregar otra llamada Rule2, siga estos pasos:
Llame a la operación GetBucketLifecycle para obtener la configuración de Rule1.
Agregue Rule2 junto con Rule1.
Llame a la operación PutBucketLifecycle para aplicar la nueva configuración que incluye tanto Rule1 como Rule2.
Establezca un tiempo de caducidad para los objetos y las partes. Las partes son fragmentos no confirmados de cargas multiparte.
Las reglas se pueden asociar según la fecha de último acceso o de última modificación.
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios o roles de RAM asociados a una cuenta de Alibaba Cloud no cuentan con ningún permiso de manera predeterminada. La cuenta de Alibaba Cloud o su administrador deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.
|
API |
Acción |
Descripción |
|
PutBucketLifecycle |
oss:PutBucketLifecycle |
Configura las reglas de ciclo de vida de un bucket. |
Sintaxis de la solicitud
PUT /?lifecycle HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>RuleID</ID>
<Prefix>Prefix</Prefix>
<Status>Status</Status>
<Expiration>
<Days>Days</Days>
</Expiration>
<Transition>
<Days>Days</Days>
<StorageClass>StorageClass</StorageClass>
</Transition>
<AbortMultipartUpload>
<Days>Days</Days>
</AbortMultipartUpload>
</Rule>
</LifecycleConfiguration>
Encabezados de solicitud
Nombre | Tipo | Obligatorio | Ejemplo | Descripción |
x-oss-allow-same-action-overlap | string | No | true | Indica si se permite que las reglas de ciclo de vida tengan prefijos superpuestos. Valores válidos:
|
Esta operación utiliza encabezados de solicitud comunes, como Date y Authorization. Para más información, consulte Common request headers.
Elementos de la solicitud
Nombre | Tipo | Obligatorio | Ejemplo | Descripción |
LifecycleConfiguration | container | Sí | N/A | Contenedor de las configuraciones de ciclo de vida. Se pueden configurar hasta 1,000 reglas. Nodo secundario: Rule Nodo primario: ninguno |
Rule | container | Sí | N/A | Contenedor de una regla de ciclo de vida. El tiempo de caducidad de un objeto debe ser posterior al momento en que se convierte a la clase de almacenamiento Infrequent Access (IA) o Archive Storage. Nodos secundarios: ID, Prefix, Status y Expiration Nodo primario: LifecycleConfiguration |
ID | string | No | rule1 | Identificador único de la regla. Puede tener hasta 255 caracteres. Si no especifica este elemento o lo deja vacío, OSS genera automáticamente un identificador único. Nodo secundario: ninguno Nodo primario: Rule |
Prefix | string | No | tmp/ | Prefijo que indica los objetos a los que aplica la regla. No es posible asignar el mismo prefijo a distintas reglas.
Nodo secundario: ninguno Nodo primario: Rule |
Status | string | Sí | Enabled | Indica si se habilita la regla. Valores válidos:
Nodo primario: Rule |
Expiration | container | No | N/A | Define las propiedades de caducidad de un objeto. En un bucket con control de versiones habilitado, el tiempo de caducidad indicado solo aplica a la versión actual del objeto. El tiempo de caducidad de un objeto debe ser posterior al momento en que se convierte a la clase de almacenamiento IA o Archive Storage. Nodos secundarios: Days, CreatedBeforeDate o ExpiredObjectDeleteMarker Nodo primario: Rule |
Days | Entero positivo | Days y CreatedBeforeDate son mutuamente excluyentes | 1 | Número de días transcurridos desde la última actualización del objeto para que la regla de ciclo de vida surta efecto. Si el parámetro IsAccessTime se establece en true en la solicitud, este valor representa los días transcurridos desde el último acceso al objeto para que la regla surta efecto. Nodos primarios: Expiration o AbortMultipartUpload |
CreatedBeforeDate | string | CreatedBeforeDate y Days son mutuamente excluyentes | 2002-10-11T00:00:00.000Z | Fecha específica. OSS aplica la regla de ciclo de vida a los datos cuya última actualización ocurrió antes de esta fecha. Debe usar el formato yyyy-MM-ddT00:00:00.000Z. La fecha debe estar en UTC y cumplir con el estándar ISO 8601. La hora debe ser 00:00:00. Nodos primarios: Expiration o AbortMultipartUpload |
ExpiredObjectDeleteMarker | string | No | true | Indica si se eliminan automáticamente los marcadores de eliminación caducados. Valores válidos:
Nodo primario: Expiration |
Transition | container | No | N/A | Define cuándo OSS convierte la clase de almacenamiento de un objeto durante su ciclo de vida válido. Los objetos Standard de un bucket Standard se pueden convertir a la clase de almacenamiento IA, Archive o Cold Archive. Sin embargo, el momento de conversión a Archive debe ser posterior al de conversión a IA. Por ejemplo, si establece Days en 30 para la transición a IA, debe asignar a Days un valor mayor que 30 para la transición a Archive. Nodo primario: Rule Nodos secundarios: Days, CreatedBeforeDate y StorageClass Importante Importante Especifique Days o CreatedBeforeDate, pero no ambos. |
StorageClass | string | Obligatorio si el nodo primario es Transition o NoncurrentVersionTransition | IA | Clase de almacenamiento a la que se convierte el objeto. Valores válidos:
Importante La clase de almacenamiento de los objetos de un bucket IA se puede convertir a Archive Storage o Cold Archive, pero no a Standard. Nodo primario: Transition |
AbortMultipartUpload | container | No | N/A | Define las propiedades de caducidad de las partes que no se confirmaron en una carga multiparte. Nodos secundarios: Days o CreatedBeforeDate Nodo primario: Rule |
Tag | container | No | N/A | Etiquetas de objeto a las que aplica la regla. Es posible especificar varias etiquetas. Nodo primario: Rule Nodos secundarios: Key y Value |
Key | string | Obligatorio si el nodo primario es Tag | TagKey1 | Clave de la etiqueta del objeto. Nodo primario: Tag |
Value | string | Obligatorio si el nodo primario es Tag | TagValue1 | Valor de la etiqueta del objeto. Nodo primario: Tag |
NoncurrentVersionExpiration | container | No | N/A | Define las propiedades de caducidad de las versiones anteriores de los objetos. Nodo secundario: NoncurrentDays |
NoncurrentVersionTransition | container | No | N/A | Define cuándo OSS convierte la clase de almacenamiento de las versiones anteriores de un objeto a IA o Archive Storage. El momento de conversión de un objeto Standard a Archive debe ser posterior al de conversión a IA. Nodos secundarios: NoncurrentDays y StorageClass |
NoncurrentDays | string | Obligatorio si el nodo primario es NoncurrentVersionExpiration o NoncurrentVersionTransition | 10 | Número de días transcurridos desde que un objeto se convirtió en versión anterior para que la regla de ciclo de vida surta efecto. Si el parámetro IsAccessTime se establece en true en la solicitud, este valor representa los días transcurridos desde el último acceso al objeto para que la regla surta efecto. Nodos primarios: NoncurrentVersionTransition y NoncurrentVersionExpiration |
IsAccessTime | string | No | true | Indica si la regla se asocia según la fecha de último acceso. Valores válidos:
Nodos primarios: Transition o NoncurrentVersionTransition. |
ReturnToStdWhenVisit | string | No | false | Indica si la clase de almacenamiento de un objeto no Standard vuelve a Standard cuando se accede nuevamente a él. Este parámetro solo es válido cuando IsAccessTime se establece en true. Valores válidos:
Nodos primarios: Transition o NoncurrentVersionTransition. |
AllowSmallFile | string | No | false | Cuando configura una regla de ciclo de vida basada en la fecha de último acceso, este parámetro indica si los objetos menores a 64 KB se convierten a la clase de almacenamiento IA, Archive o Cold Archive. Valores válidos:
Nodos primarios: Transition o NoncurrentVersionTransition. |
Filter | container | No | N/A | Contenedor de los parámetros de condición de esta regla de exclusión. Especifique un contenedor como máximo o déjelo vacío. Nodo primario: Rule Nodo secundario: Not |
Not | container | No | N/A | Si un objeto cumple esta condición, la regla se omite. Si configura Filter, debe especificar exactamente un nodo Not dentro de Filter. Nodo primario: Filter Nodos secundarios: Prefix y Tag |
Prefix | string | Sí | tmp/not/ | Prefijo de objeto al que aplica esta regla de exclusión. Este parámetro no puede estar vacío.
Nodo primario: Not Nodo secundario: ninguno |
Tag | container | No | N/A | Etiqueta de objeto a la que aplica esta regla de exclusión. Especifique una etiqueta como máximo o deje este parámetro vacío. |
ObjectSizeGreaterThan | Entero positivo | No | 500 | Tamaño mínimo de objeto al que aplica esta regla. Este parámetro es opcional y solo se puede especificar uno. Si también establece ObjectSizeLessThan, el sistema comprueba la relación de tamaño entre ambos. Este parámetro es mutuamente excluyente con AllowSmallFile. Nodo primario: Filter Nodo secundario: ninguno |
ObjectSizeLessThan | Entero positivo | No | 64000 | Tamaño máximo de objeto al que aplica esta regla. Este parámetro es opcional y solo se puede especificar uno. Si también establece ObjectSizeGreaterThan, el sistema comprueba la relación de tamaño entre ambos. Este parámetro es mutuamente excluyente con AllowSmallFile. Nodo primario: Filter Nodo secundario: ninguno |
Encabezados de respuesta
La respuesta solo contiene encabezados de respuesta comunes. Para más información, consulte Common response headers.
Ejemplos
Ejemplos de solicitud
Ejemplo 1: convertir la clase de almacenamiento de los objetos según la fecha de última modificación
Ejemplo 2: eliminar objetos según la fecha de última modificación
Ejemplo 3: convertir la clase de almacenamiento de los objetos y eliminarlos según la fecha de última modificación
Ejemplo 4: eliminar versiones anteriores de objetos y limpiar marcadores de eliminación según la fecha de última modificación
Ejemplo 5: convertir la clase de almacenamiento de los objetos y eliminarlos según la fecha de última modificación, excepto los que tienen un prefijo y una etiqueta específicos
Ejemplo 6: convertir la clase de almacenamiento de los objetos según la fecha de último acceso
Ejemplo 7: eliminar partes según la fecha de última modificación
Ejemplo 8: eliminar objetos con prefijos superpuestos según la fecha de última modificación
Ejemplo de respuesta
HTTP/1.1 200 OK
x-oss-request-id: 7D3435J59A9812BAD56E
Date: Mon, 6 May 2019 15:23:20 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
SDK
Llame a esta operación mediante los kits de desarrollo de software (SDK) de los siguientes lenguajes de programación.
Herramienta de línea de comandos ossutil
Para conocer el comando de ossutil correspondiente a la operación PutBucketLifecycle, consulte put-bucket-lifecycle.
Referencias
Para más información sobre las reglas de ciclo de vida, consulte Lifecycle rule overview.
Códigos de error
Código de error | Código de estado HTTP | Descripción |
InvalidArgument | 400 | Posibles causas de este error:
|
AccessDenied | 403 | No cuenta con los permisos obligatorios. Solo los usuarios con el permiso |
MalforedXML | 400 | Un error de validación XML en la configuración del ciclo de vida genera el error MalformedXML. Por ejemplo, este error ocurre si configura una regla de ciclo de vida basada en el último acceso de un bucket antes de habilitar el seguimiento de accesos para ese bucket. |