Adición de filtros a reglas de Lifecycle - Amazon Simple Storage Service

Adición de filtros a reglas de Lifecycle

Los filtros son un elemento de regla de Lifecycle opcional que puede usar para especificar a qué objetos se aplica la regla.

Se pueden utilizar los siguientes elementos para filtrar objetos:

Prefijo de clave

Puede filtrar objetos basándose en un prefijo. Si quiere aplicar acciones de ciclo de vida a un subconjunto de objetos según más de un prefijo, puede especificar reglas por separado. En cada regla, especifique un filtro basado en prefijos. Para obtener más información, consulte [ejemplo]

Etiquetas de objetos

Puede filtrar objetos según una o más etiquetas. Cada etiqueta debe coincidir con la clave y el valor de forma exacta y, si se especifican varias etiquetas, cada clave de etiqueta debe ser exclusiva. Un filtro con varias etiquetas de objetos se aplica al subconjunto de objetos que tienen todas las etiquetas especificadas. Si un objeto tiene etiquetas adicionales especificadas, se seguirá aplicando el filtro.

nota

Si especifica solo un elemento Key y no especifica ningún elemento Value, la regla se aplicará únicamente a los objetos que coincidan con la clave de la etiqueta y que no tengan un valor especificado.

Tamaño mínimo o máximo del objeto

Puede filtrar objetos según el tamaño. Puede especificar un tamaño mínimo (ObjectSizeGreaterThan) o un tamaño máximo (ObjectSizeLessThan), o bien puede especificar un rango de tamaños de objeto en el mismo filtro. Los valores de tamaño de objeto están expresados en bytes. El tamaño máximo del filtro es de 5 TB. Amazon S3 aplica un tamaño de objeto mínimo predeterminado a la configuración del ciclo de vida. Para obtener más información, consulte {EMBERS].

Puede combinar diferentes elementos de filtro, en cuyo caso Amazon S3 utiliza un AND lógico.

Ejemplos de filtro

En los siguientes ejemplos, se muestra cómo puede usar diferentes elementos de filtro:

  • Especificación de un filtro mediante prefijos de clave: en este ejemplo se muestra una regla de S3 Lifecycle que se aplica a un subconjunto de objetos en función del prefijo del nombre de la clave (logs/). Por ejemplo, la regla de Lifecycle se aplica a los objetos logs/mylog.txt, logs/temp1.txt y logs/test.txt. La regla no se aplica al objeto example.jpg.

    <LifecycleConfiguration> <Rule> <Filter> <Prefix>logs/</Prefix> </Filter> transition/expiration actions ... </Rule> ... </LifecycleConfiguration>
    nota

    Si tiene uno o más prefijos que comienzan con los mismos caracteres, puede incluir todos esos prefijos en la regla especificando un prefijo parcial sin barra al final (/) en el filtro. Por ejemplo, supongamos que dispone de los siguientes prefijos:

    sales1999/ sales2000/ sales2001/

    Para incluir los tres prefijos en la regla, especifique sales como prefijo en la regla de ciclo de vida.

    Si quiere aplicar una acción de ciclo de vida a un subconjunto de objetos en función de diferentes prefijos de nombres de clave, especifique reglas por separado. En cada regla, especifique un filtro basado en prefijos. Por ejemplo, para describir una acción de Lifecycle para objetos con los prefijos de clave projectA/ y projectB/, debe especificar dos reglas como se muestra a continuación:

    <LifecycleConfiguration> <Rule> <Filter> <Prefix>projectA/</Prefix> </Filter> transition/expiration actions ... </Rule> <Rule> <Filter> <Prefix>projectB/</Prefix> </Filter> transition/expiration actions ... </Rule> </LifecycleConfiguration>

    Para obtener más información sobre las claves de objetos, consulte Denominación de objetos de Amazon S3.

  • Especificación de un filtro mediante etiquetas de objetos: en el siguiente ejemplo, la regla de Lifesycle especifica un filtro basado en una etiqueta (key) y valor (value). La regla se aplica solo a un subconjunto de objetos que tengan la etiqueta específica.

    <LifecycleConfiguration> <Rule> <Filter> <Tag> <Key>key</Key> <Value>value</Value> </Tag> </Filter> transition/expiration actions ... </Rule> </LifecycleConfiguration>

    Puede especificar un filtro sobre la base de varias etiquetas. Debe envolver las etiquetas con el elemento <And>, tal y como se muestra en el siguiente ejemplo. La regla indica a Amazon S3 que debe realizar acciones de ciclo de vida en objetos con dos etiquetas (con la clave y el valor específicos de la etiqueta).

    <LifecycleConfiguration> <Rule> <Filter> <And> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </And> </Filter> transition/expiration actions </Rule> </Lifecycle>

    La regla de Lifecycle se aplica solo a un subconjunto de objetos que tengan la etiqueta específica. Amazon S3 realiza una operación lógica AND. Tenga en cuenta lo siguiente:

    • Cada etiqueta debe coincidir exactamente tanto con la clave como con el valor. Si especifica solo un elemento <Key> y no especifica ningún elemento <Value>, la regla se aplicará únicamente a los objetos que coincidan con la clave de la etiqueta y que no tengan un valor especificado.

    • La regla se aplica al subconjunto de objetos que tienen todas las etiquetas especificadas en la regla. Si un objeto tiene etiquetas adicionales especificadas, se seguirá aplicando la regla.

    nota

    Al especificar varias etiquetas en un filtro, cada clave de etiqueta ha de ser exclusiva.

  • Especificación de un filtro utilizando tanto el prefijo como una o varias etiquetas de objetos: en una regla de Lifecycle, puede especificar un filtro basado tanto en el prefijo de clave como en una o varias etiquetas. Una vez más, debe envolver todos estos elementos de filtro con el elemento <And> como se muestra a continuación:

    <LifecycleConfiguration> <Rule> <Filter> <And> <Prefix>key-prefix</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </And> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>

    Amazon S3 combina estos filtros mediante el operador lógico AND. Es decir, la regla se aplica al subconjunto de objetos con el prefijo de clave específico y las etiquetas específicas. Un filtro solo puede tener un prefijo y ninguna, una o varias etiquetas.

  • Especificación de un filtro vacío: puede especificar un filtro vacío, en cuyo caso, la regla se aplicará a todos los objetos del bucket.

    <LifecycleConfiguration> <Rule> <Filter> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>
  • Especificación de un filtro de tamaño de objeto: para filtrar una regla por tamaño de objeto, puede especificar un tamaño mínimo (ObjectSizeGreaterThan) o un tamaño máximo (ObjectSizeLessThan), o bien puede especificar un rango de tamaños de objeto.

    Los valores de tamaño de objeto están expresados en bytes. El tamaño máximo del filtro es de 5 TB. Algunas clases de almacenamiento tienen limitaciones mínimas de tamaño de objeto. Para obtener más información, consulte Comparación de las clases de almacenamiento de Amazon S3.

    <LifecycleConfiguration> <Rule> <Filter> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>
    nota

    Los filtros ObjectSizeGreaterThan y ObjectSizeLessThan excluyen los valores especificados. Por ejemplo, si establece objetos con un tamaño que abarca desde los 128 KB hasta los 1024 KB para pasar de la clase de almacenamiento S3 Standard a la clase de almacenamiento S3 Standard-IA, los objetos que tienen un tamaño exacto de 1024 KB y de 128 KB no pasarán a S3 Standard-IA. En cambio, la regla se aplicará únicamente a los objetos que tengan un tamaño superior a 128 KB e inferior a 1024 KB.

    Si especifica un rango de tamaño de objeto, el número entero ObjectSizeGreaterThan debe ser menor que valor ObjectSizeLessThan. Cuando utilice más de un filtro, debe envolver los filtros en un elemento <And>. En el siguiente ejemplo, se muestra cómo especificar objetos en un rango de entre 500 y 64 000 bytes.

    <LifecycleConfiguration> <Rule> <Filter> <And> <Prefix>key-prefix</Prefix> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> <ObjectSizeLessThan>64000</ObjectSizeLessThan> </And> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>