本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將篩選條件新增至生命週期規則
篩選條件是選用的生命週期規則元素,可用來指定套用規則的物件。
您可使用下列元素來篩選物件:
- 金鑰字首
您可以根據字首來篩選物件。如果您想要將生命週期動作套用到具有多個字首的部分物件,您可以指定不同的規則。請在每項規則中,指定使用字首的篩選條件。如需詳細資訊,請參閱 [範例]。
- 物件標籤
您可以根據一個或多個標籤來篩選物件。每個標籤都必須完全符合金鑰和值,而且如果您指定多個標籤,每個標籤金鑰都必須是唯一的。具有多個物件標籤的篩選條件,會套用至已指定所有標籤的部分物件。如果物件指定了其他標籤,則仍會套用篩選條件。
注意
如果您只指定一個
Key
元素,而且沒有Value
元素,則規則將僅適用於符合標籤金鑰且未指定值的物件。- 物件大小下限或上限
您可以根據大小來篩選物件。您可以指定大小下限 (
ObjectSizeGreaterThan
) 或大小上限 (ObjectSizeLessThan
),或者您可以在相同篩選條件中指定物件大小的範圍。物件大小值以位元組為單位。篩選條件大小上限為 5 TB。Amazon S3 會將預設的物件大小下限套用至生命週期組態。如需詳細資訊,請參閱範例:允許轉換小於 128 KB 的物件。
您可以結合不同的篩選條件元素,在這種情況下,Amazon S3 會使用邏輯 AND
。
篩選條件範例
下列範例示範如何使用不同的篩選條件元素:
-
使用金鑰字首指定篩選條件 – 此範例示範的 S3 生命週期規則,會依據金鑰名稱前綴 (
logs/
) 套用到部分物件。例如,生命週期規則會套用到物件logs/mylog.txt
、logs/temp1.txt
及logs/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>注意
ObjectSizeGreaterThan
和ObjectSizeLessThan
篩選條件會排除指定的值。例如,如果您將大小為 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>