將篩選條件新增至生命週期規則 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將篩選條件新增至生命週期規則

篩選條件是選用的生命週期規則元素,可用來指定套用規則的物件。

您可使用下列元素來篩選物件:

金鑰字首

您可以根據字首來篩選物件。如果您想要將生命週期動作套用到具有多個字首的部分物件,您可以指定不同的規則。請在每項規則中,指定使用字首的篩選條件。如需詳細資訊,請參閱 [範例]。

物件標籤

您可以根據一個或多個標籤來篩選物件。每個標籤都必須完全符合金鑰和值,而且如果您指定多個標籤,每個標籤金鑰都必須是唯一的。具有多個物件標籤的篩選條件,會套用至已指定所有標籤的部分物件。如果物件指定了其他標籤,則仍會套用篩選條件。

注意

如果您只指定一個 Key 元素,而且沒有 Value 元素,則規則將僅適用於符合標籤金鑰且未指定值的物件。

物件大小下限或上限

您可以根據大小來篩選物件。您可以指定大小下限 (ObjectSizeGreaterThan) 或大小上限 (ObjectSizeLessThan),或者您可以在相同篩選條件中指定物件大小的範圍。物件大小值以位元組為單位。篩選條件大小上限為 5 TB。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),或者您可以指定物件大小的範圍。

    物件大小值以位元組為單位。篩選條件大小上限為 5 TB。部分儲存類別擁有物件大小下限限制。如需詳細資訊,請參閱比較 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 位元組到 64,000 個位元組範圍內的物件。

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