Como adicionar filtros a regras de ciclo de vida
Os filtros são um elemento opcional das regras de ciclo de vida que você pode usar para especificar a quais objetos a regra se aplica.
Os elementos a seguir podem ser usados para filtrar objetos:
- Prefixo de chaves
É possível filtrar objetos com base em um prefixo. Caso queira aplicar ações de ciclo de vida a um subconjunto de objetos em mais de um prefixo, é possível especificar regras separadas. Em cada regra, especifique um filtro com base em prefixo. Consulte mais informações em [exemplo]
- Tags de objeto
É possível filtrar objetos com base em uma ou mais tags. Cada tag deve corresponder exatamente à chave e ao valor e, se você especificar várias tags, cada chave de tag deve ser exclusiva. Um filtro com várias tags de objeto se aplica a um subconjunto de objetos que tenha todas as tags especificadas. Se um objeto tiver tags adicionais especificadas, o filtro ainda será aplicado.
nota
Se você especificar somente um elemento
Key
e nenhum elementoValue
, a regra será aplicada apenas aos objetos que corresponderem à chave da tag e que não tenham um valor especificado.- Tamanho mínimo ou máximo do objeto
É possível filtrar objetos com base no tamanho. É possível especificar um tamanho mínimo (
ObjectSizeGreaterThan
), um tamanho máximo (ObjectSizeLessThan
) ou um intervalo de tamanhos de objeto no mesmo filtro. Os valores de tamanho de objeto estão em bytes. O tamanho máximo do filtro é 5 TB. O Amazon S3 aplica um tamanho mínimo padrão de objeto à configuração do ciclo de vida. Consulte mais informações em {EMBERS].
É possível combinar diferentes elementos de filtro e, nesse caso, o Amazon S3 usa um AND
lógico.
Exemplos de filtro
Os exemplos a seguir mostram como você pode usar elementos de filtro diferentes:
-
Especificação de um filtro usando prefixos de chave: este exemplo mostra uma regra do S3 Lifecycle que se aplica a um subconjunto de objetos com base no prefixo de nome de chave (
logs/
). Por exemplo, a regra de ciclo de vida se aplica aos objetoslogs/mylog.txt
,logs/temp1.txt
elogs/test.txt
. A regra não se aplica ao objetoexample.jpg
.<LifecycleConfiguration> <Rule> <Filter> <Prefix>logs/</Prefix> </Filter>
transition/expiration actions
... </Rule> ... </LifecycleConfiguration>nota
Se você tiver um ou mais prefixos que comecem com os mesmos caracteres, poderá incluir todos esses prefixos em sua regra especificando um prefixo parcial sem barra (
/
) no filtro. Por exemplo, suponha que você tenha estes prefixos:sales1999/ sales2000/ sales2001/
Para incluir todos os três prefixos na regra, especifique
sales
como prefixo na regra de ciclo de vida.Caso queira aplicar uma ação de ciclo de vida a um subconjunto de objetos com base em prefixos de nome de chave diferentes, especifique regras separadas. Em cada regra, especifique um filtro com base em prefixo. Por exemplo, para descrever uma ação de ciclo de vida para objetos com prefixos de chave
projectA/
eprojectB/
, especifique duas regras da seguinte forma:<LifecycleConfiguration> <Rule> <Filter> <Prefix>projectA/</Prefix> </Filter>
transition/expiration actions
... </Rule> <Rule> <Filter> <Prefix>projectB/</Prefix> </Filter>transition/expiration actions
... </Rule> </LifecycleConfiguration>Para obter mais informações sobre chaves de objeto, consulte Nomear objetos do Amazon S3.
-
Especificação de um filtro com base em tags de objeto: no exemplo a seguir, a regra de ciclo de vida especifica um filtro com base em uma tag (
) e valor (key
). A regra aplica-se somente a um subconjunto de objetos com a tag específica.value
<LifecycleConfiguration> <Rule> <Filter> <Tag> <Key>
key
</Key> <Value>value
</Value> </Tag> </Filter>transition/expiration actions
... </Rule> </LifecycleConfiguration>Você pode especificar um filtro com base em várias tags. Você deve encapsular as tags no elemento
<And>
, como mostrado no exemplo a seguir. A regra instrui o Amazon S3 a executar ações de ciclo de vida em objetos com duas tags (com a chave e o valor específicos da tag).<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>A regra de ciclo de vida se aplica a objetos que têm ambas as tags especificadas. O Amazon S3 realiza uma operação
AND
lógica. Observe o seguinte:-
Cada tag deve corresponder exatamente a ambos: à chave e ao valor. Se você especificar somente um elemento
<Key>
e nenhum elemento<Value>
, a regra será aplicada apenas aos objetos que corresponderem à chave da tag e que não tenham um valor especificado. -
A regra se aplica a um subconjunto de objetos que tem todas as tags especificadas na regra. Se um objeto tiver tags adicionais especificadas, a regra ainda será aplicada.
nota
Quando você especifica várias tags em um filtro, cada chave de tag deve ser exclusiva.
-
-
Especificação de um filtro com base no prefixo e em uma ou mais tags: em uma regra de ciclo de vida, você pode especificar um filtro com base no prefixo de chaves e em uma ou mais tags. Além disso, você deve incluir tudo isso no elemento
<And>
, como mostrado a seguir.<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>O Amazon S3 combina esses filtros usando uma operação
AND
lógica. Isto é, a regra aplica-se ao subconjunto de objetos com o prefixo de chave especificado e as tags especificadas. Um filtro pode ter somente um prefixo e zero ou mais tags. -
Especificar um filtro vazio: é possível especificar um filtro vazio e, nesse caso, a regra se aplica a todos os objetos no bucket.
<LifecycleConfiguration> <Rule> <Filter> </Filter> <Status>Enabled</Status>
transition/expiration actions
</Rule> </LifecycleConfiguration> -
Especificar um filtro de tamanho de objeto: para filtrar uma regra por tamanho do objeto, é possível especificar um tamanho mínimo (
ObjectSizeGreaterThan
), um tamanho máximo (ObjectSizeLessThan
) ou um intervalo de tamanhos de objeto.Os valores de tamanho de objeto estão em bytes. O tamanho máximo do filtro é 5 TB. Algumas classes de armazenamento têm limitações mínimas de tamanho. Para ter mais informações, consulte Comparar as classes de armazenamento do Amazon S3.
<LifecycleConfiguration> <Rule> <Filter> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> </Filter> <Status>Enabled</Status>
transition/expiration actions
</Rule> </LifecycleConfiguration>nota
Os filtros
ObjectSizeGreaterThan
eObjectSizeLessThan
excluem os valores especificados. Por exemplo, se você definir objetos com tamanho de 128 KB a 1.024 KB para mover da classe de armazenamento S3 Standard para a classe de armazenamento S3 Standard-IA, os objetos que têm exatamente 1.024 KB e 128 KB não farão a transição para S3 Standard-IA. Em vez disso, a regra se aplicará somente a objetos maiores que 128 KB e menores que 1.024 KB de tamanho.Se você estiver especificando um intervalo de tamanho de objeto, o número inteiro
ObjectSizeGreaterThan
deve ser menor que o valor deObjectSizeLessThan
. Ao usar mais de um filtro, é necessário fazer a quebra dos filtros em um elemento<And>
. O exemplo a seguir mostra como especificar objetos em um intervalo entre 500 e 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>