将筛选条件添加到生命周期规则 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将筛选条件添加到生命周期规则

筛选条件是一个可选的生命周期规则元素,可用于指定规则适用于哪些对象。

以下元素可用于筛选对象:

键前缀

可以基于前缀来筛选对象。如果要将生命周期操作应用于多个前缀下的对象子集,您可以指定单独的规则。在每个规则中,指定基于前缀的筛选条件。有关更多信息,请参阅 [示例]

对象标签

可以基于一个或多个标签来筛选对象。每个标签必须与键和值完全匹配,如果您指定多个标签,每个标签键必须是唯一的。具有多个对象标签的筛选条件应用于已指定了所有标签的对象子集。如果某个对象指定了其它标签,则该筛选条件仍将适用。

注意

如果您只指定 Key 元素而未指定 Value 元素,则该规则将仅应用于与标签键匹配而未指定值的对象。

最小或最大对象大小

可以基于大小来筛选对象。可以指定最小大小 (ObjectSizeGreaterThan) 或最大大小 (ObjectSizeLessThan),也可以在同一个筛选条件中指定一系列对象大小。对象大小值以字节为单位。最大筛选条件大小为 5TB。Amazon S3 对生命周期配置应用默认的最小对象大小。有关更多信息,请参阅 示例:支持转换小于 128 KB 的对象

可以组合不同的筛选元素,在这种情况下,Amazon S3 使用逻辑 AND

筛选示例

以下示例说明如何使用不同的筛选元素:

  • 使用键前缀指定筛选条件 – 此示例显示一个 S3 生命周期规则,此规则基于键名前缀(logs/)应用于一部分对象。例如,此生命周期规则应用于对象 logs/mylog.txtlogs/temp1.txtlogs/test.txt。此规则不应用于对象 example.jpg

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

    如果您有一个或多个前缀以相同的字符开头,则可以通过在筛选条件中指定不带尾部斜杠 (/) 的部分前缀,来将所有这些前缀包含在规则中。例如,假设您有以下前缀:

    sales1999/ sales2000/ sales2001/

    要在规则中包含所有三个前缀,请在生命周期规则中指定 sales 作为前缀。

    如果您要基于不同的键名称前缀将生命周期操作应用于一部分对象,可指定单独的规则。在每个规则中,指定基于前缀的筛选条件。例如,要描述具有键前缀 projectA/projectB/ 的对象的生命周期操作,可指定两个规则,如下所示:

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

    有关对象键的更多信息,请参阅 为 Amazon S3 对象命名

  • 指定基于对象标签的筛选条件 – 在以下示例中,此生命周期规则指定基于标签(key)和值(value)的筛选条件。随后,此规则仅应用于具有特定标签的一部分对象。

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

    您可以指定基于多个标签的筛选条件。您必须在 <And> 元素中包含标签,如以下示例所示。此规则指示 Amazon S3 对具有两个标签(带特定的标签键和值)的对象执行生命周期操作。

    <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>

    此生命周期规则应用于具有指定的两个标签的对象。Amazon S3 执行逻辑 AND。请注意以下几点:

    • 每个标签的键和值 必须完全匹配。如果您只指定 <Key> 元素而不指定 <Value> 元素,则该规则将仅应用于与标签键匹配而 指定值的对象。

    • 此规则应用于具有规则中指定的所有标签的一部分对象。如果某个对象指定了其他标签,则该规则仍将适用。

    注意

    当您在筛选条件中指定多个标签时,每个标签键必须是唯一的。

  • 指定基于前缀和一个或多个标签的筛选条件 – 在生命周期规则中,您可以指定基于键前缀和一个或多个标签的筛选条件。同样,您必须在 <And> 元素中包含所有这些筛选条件元素,如下所示:

    <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 使用逻辑 AND 组合这些筛选条件。也就是说,该规则应用于具有指定键前缀和指定标签的对象子集。一个筛选条件只能有一个前缀以及零个或多个标签。

  • 指定空筛选条件 – 可以指定空筛选条件,在此情况下,规则应用于存储桶中的所有对象。

    <LifecycleConfiguration> <Rule> <Filter> </Filter> <Status>Enabled</Status> transition/expiration actions </Rule> </LifecycleConfiguration>
  • 指定对象大小筛选条件 – 要按对象大小来筛选规则,可以指定最小大小 (ObjectSizeGreaterThan) 或最大大小 (ObjectSizeLessThan),也可以指定一系列对象大小。

    对象大小值以字节为单位。最大筛选条件大小为 5TB。某些存储类具有最小对象大小限制。有关更多信息,请参阅 比较 Amazon S3 存储类

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

    ObjectSizeGreaterThanObjectSizeLessThan 筛选条件不包含所指定的值。例如,如果您将大小为 128 KB 到 1024 KB 的对象设置为从 S3 Standard 存储类移到 S3 Standard-IA 存储类,则大小精确为 1024 KB 和 128 KB 的对象将不会转换到 S3 Standard-IA。相反,该规则将仅适用于大小大于 128 KB 且小于 1024 KB 的对象。

    如果要指定对象大小范围,ObjectSizeGreaterThan 整数必须小于 ObjectSizeLessThan 值。当使用多个筛选条件时,必须将筛选条件包装在 <And> 元素中。以下示例显示了如何指定范围在 500 字节到 64000 字节之间的对象。

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