S3 生命週期組態範例 - Amazon Simple Storage Service

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

S3 生命週期組態範例

本節提供 S3 生命週期組態的範例。每個範例都會說明在各個範例情境下指定 XML 的方式。

範例 1:指定篩選條件

每個 S3 生命週期規則都包含篩選條件,您可用於找出儲存貯體中將套用 S3 生命週期規則的一組物件。下列 S3 生命週期組態說明如何指定篩選條件的範例。

  • 在此 S3 生命週期組態規則中,篩選條件指定了一個金鑰字首 (key prefix) (tax/)。因此,規則將會套用至其金鑰名稱字首為 tax/ 的物件,例如 tax/doc1.txttax/doc2.txt

    該項規則指定了兩個動作,指揮 Amazon S3 執行下列操作:

    • 在建立物件的 365 天 (一年) 後將物件轉換為 S3 Glacier Flexible Retrieval 儲存類別。

    • 在建立物件的 3,650 天 (10 年) 後將物件刪除 (Expiration 動作)。

    <LifecycleConfiguration> <Rule> <ID>Transition and Expiration Rule</ID> <Filter> <Prefix>tax/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>GLACIER</StorageClass> </Transition> <Expiration> <Days>3650</Days> </Expiration> </Rule> </LifecycleConfiguration>

    您可以為每個動作指定日期,而不是以建立後的天數來指定物件存留時間。但在相同的規則中,不可同時使用 DateDays

  • 若想要將 S3 生命週期規則套用到儲存貯體中的所有物件,請指定空白的字首。在下列組態中,規則會指定 Transition 動作,指示 Amazon S3 在建立物件的 0 天後,將其轉換為 S3 Glacier Flexible Retrieval 儲存類別。此規則表示物件有資格在建立之後 UTC 午夜封存至 S3 Glacier 彈性擷取。如需生命週期限制的詳細資訊,請參閱限制

    <LifecycleConfiguration> <Rule> <ID>Archive all object same-day upon creation</ID> <Filter> <Prefix></Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>0</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
  • 您可以在篩選條件中指定零或一個金鑰名稱字首,以及零或多個物件標籤。下列程式碼範例會將 S3 生命週期規則套用到金鑰字首 (key prefix) 為 tax/,以及有兩個具有指定金鑰及數值之標籤的一組物件。當指定超過一個篩選條件時,您必須如所示地納入 <And> 元素 (Amazon S3 會套用邏輯 AND 來合併指定的篩選條件)。

    ... <Filter> <And> <Prefix>tax/</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> </And> </Filter> ...

  • 您可以僅根據標籤來篩選物件。例如,下列 S3 生命週期規則會套用至具有兩個指定標籤的物件 (其並未指定任何字首)。

    ... <Filter> <And> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> </And> </Filter> ...

重要

當您在 S3 生命週期組態中有多個規則時,一個物件可能會在同一天符合多個 S3 生命週期動作的資格。在這種情況下,Amazon S3 遵循以下一般規則:

  • 永久刪除優先於轉換。

  • 轉移優先於刪除標記的建立。

  • 當物件符合 S3 冰川彈性擷取和 S3 標準 — IA (或 S3 單區域 — IA) 轉換的資格時,Amazon S3 會選擇 S3 冰川彈性擷取轉換。

如需範例,請參閱「範例 5:篩選條件重疊、生命週期動作相衝突,以及 Amazon S3 對為進行版本控制的儲存貯體所採取的動作」。

範例 2:停用生命週期規則

您可以暫時停用 S3 生命週期規則。下列 S3 生命週期組態指定兩項規則:

  • 規則 1 指示 Amazon S3 在建立物件之後不久,即將具備 logs/ 字首的物件轉換為 S3 Glacier Flexible Retrieval 儲存類別。

  • 規則 2 指示 Amazon S3 在建立物件之後不久,即將具備 documents/ 字首的物件轉換為 S3 Glacier Flexible Retrieval 儲存類別。

在組態中,規則 1 為啟用狀態,規則 2 則為停用狀態。Amazon S3 會忽略已停用的規則。

<LifecycleConfiguration> <Rule> <ID>Rule1</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>0</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>Rule2</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Disabled</Status> <Transition> <Days>0</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> </LifecycleConfiguration>

示例 3:在對象的生命週期內分層存儲類

在此範例中,將使用 S3 生命週期組態,在物件的生命週期內降級其儲存體方案。降級動作有助於降低儲存體費用。如需定價的詳細資訊,請參閱 Amazon S3 定價

下列 S3 生命週期組態指定了一則會套用至其金鑰名稱字首為 logs/ 之物件的規則。該規則指定下列動作:

  • 兩個轉換動作:

    • 在建立物件的 30 天後將物件轉換為 S3 標準 – IA 儲存類別。

    • 在建立物件的 90 天後將物件轉換為 S3 Glacier Flexible Retrieval 儲存類別。

  • 一個過期動作,指示 Amazon S3 在建立物件的一年之後將其刪除。

<LifecycleConfiguration> <Rule> <ID>example-id</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>STANDARD_IA</StorageClass> </Transition> <Transition> <Days>90</Days> <StorageClass>GLACIER</StorageClass> </Transition> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
注意

若所有的動作皆會套用至相同的一組物件,可以使用單一規則描述所有 S3 生命週期動作 (依篩選條件識別)。否則,您可以新增多個規則,然後每個規則指定不同的篩選條件。

重要

當您在 S3 生命週期組態中有多個規則時,一個物件可能會在同一天符合多個 S3 生命週期動作的資格。在這種情況下,Amazon S3 遵循以下一般規則:

  • 永久刪除優先於轉換。

  • 轉移優先於刪除標記的建立。

  • 當物件符合 S3 冰川彈性擷取和 S3 標準 — IA (或 S3 單區域 — IA) 轉換的資格時,Amazon S3 會選擇 S3 冰川彈性擷取轉換。

如需範例,請參閱 範例 5:篩選條件重疊、生命週期動作相衝突,以及 Amazon S3 對為進行版本控制的儲存貯體所採取的動作

範例 4:指定多項規則

若希望為不同的物件套用不同的 S3 生命週期動作,可以指定多項規則。下列 S3 生命週期組態有兩項規則:

  • 規則 1 會套用到金鑰名稱字首為 classA/ 的物件。該規則指示 Amazon S3 在建立物件的一年後,將其轉換為 S3 Glacier Flexible Retrieval 儲存類別,並在建立物件的 10 年後將其刪除。

  • 規則 2 會套用到金鑰名稱字首為 classB/ 的物件。其指示 Amazon S3 在建立物件的 90 天後,將其轉換為 S3 標準 – IA 儲存類別,並在建立物件的一年後將其刪除。

<LifecycleConfiguration> <Rule> <ID>ClassADocRule</ID> <Filter> <Prefix>classA/</Prefix> </Filter> <Status>Enabled</Status> <Transition>       <Days>365</Days>       <StorageClass>GLACIER</StorageClass>     </Transition> <Expiration> <Days>3650</Days> </Expiration> </Rule> <Rule> <ID>ClassBDocRule</ID> <Filter> <Prefix>classB/</Prefix> </Filter> <Status>Enabled</Status> <Transition>       <Days>90</Days>       <StorageClass>STANDARD_IA</StorageClass>     </Transition> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
重要

當您在 S3 生命週期組態中有多個規則時,一個物件可能會在同一天符合多個 S3 生命週期動作的資格。在這種情況下,Amazon S3 遵循以下一般規則:

  • 永久刪除優先於轉換。

  • 轉移優先於刪除標記的建立。

  • 當物件符合 S3 冰川彈性擷取和 S3 標準 — IA (或 S3 單區域 — IA) 轉換的資格時,Amazon S3 會選擇 S3 冰川彈性擷取轉換。

如需範例,請參閱 範例 5:篩選條件重疊、生命週期動作相衝突,以及 Amazon S3 對為進行版本控制的儲存貯體所採取的動作

範例 5:篩選條件重疊、生命週期動作相衝突,以及 Amazon S3 對為進行版本控制的儲存貯體所採取的動作

您可能在指定的 S3 生命週期組態內,指定了重疊的字首或動作。

通常,S3 生命週期會針對成本進行最佳化。例如,如果兩個過期政策重疊,較短的過期政策會優先被接受,因此資料的存放週期會較預期為短。同樣的,如果兩個轉換原則重疊,S3 生命週期會將您的物件轉換至成本較低的儲存等級。

在這兩種情況下,S3 生命週期會嘗試為您選擇花費較少的途徑。此一般性規則的例外為 S3 Intelligent-Tiering 儲存類別。相較於其他儲存類別,S3 Intelligent-Tiering 較適用於 S3 生命週期,除了 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別之外。

下列範例說明 Amazon S3 解決潛在衝突的方式。

範例 1:字首重疊 (無任何衝突)

下列範例組態有兩項規則指定的字首重疊,如下所示:

  • 第一項規則指定的篩選條件為空白,代表所有位於儲存貯體中的物件。

  • 第二項規則指定的金鑰名稱字首為 logs/,代表只有一部份的物件。

規則 1 要求 Amazon S3 在建立物件的一年後,刪除所有物件。規則 2 要求 Amazon S3 在建立 30 天後將物件子集轉換為 S3 標準 – IA 儲存類別。

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>30</Days> </Transition> </Rule> </LifecycleConfiguration>

由於在這種情況下沒有衝突,因此 Amazon S3 會在建立 30 天後將具有 logs/ 字首的物件轉換至 S3 標準 – IA 儲存類別。系統會刪除任何建立達到一年的物件。

範例 2:生命週期動作相衝突

在此範例組態中有兩個規則,分別指示 Amazon S3 對同一組的部分物件,在物件生命週期內的同一時間執行兩個不同的動作:

  • 兩項規則都指定了相同的金鑰名稱字首,因此兩項規則都會套用到相同的一組部分物件。

  • 套用規則時,兩項規則都相同地指定在建立物件的 365 天後。

  • 一項規則指示 Amazon S3 將物件轉換為 S3 標準 – IA 儲存類別,另一項規則則指示 Amazon S3 在相同的時間將物件設為過期。

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>365</Days> </Transition> </Rule> </LifecycleConfiguration>

在此情況下,因為您想要將物件設定為過期 (即將移除),所以將其轉換為其他儲存類別不具任何意義,Amazon S3 因而會對這些物件選擇過期動作。

範例 3:字首重疊導致生命週期動作相衝突

在此範例中,組態有兩項規則,指定的重疊字首如下所示:

  • 規則 1 指定的字首為空白 (代表所有物件)。

  • 規則 2 指定了金鑰名稱字首 (logs/),代表所有物件其中一部分。

對於金鑰名稱字首為 logs/ 的一部分物件,將會套用兩項規則中的 S3 生命週期動作。其中一項規則指示 Amazon S3 在建立物件的 10 天後轉換物件,另一項規則則指示 Amazon S3 在建立物件的 365 天後轉換物件。

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix></Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>10</Days> </Transition> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA<StorageClass> <Days>365</Days> </Transition> </Rule> </LifecycleConfiguration>

在此情況下,Amazon S3 會選擇在建立物件的 10 天進行轉換。

範例 4:使用標籤設定篩選條件以及所引發的生命週期動作衝突

假設您有下列 S3 生命週期組態,其中有兩項規則,每一項都指定了標籤篩選條件:

  • 規則 1 指定了使用標籤來設定篩選條件 (tag1/value1)。此項規則指示 Amazon S3 在建立物件的 365 天後,將其轉換為 S3 Glacier Flexible Retrieval 儲存類別。

  • 規則 2 指定了使用標籤來設定篩選條件 (tag2/value2)。此項規則指示 Amazon S3 在建立物件的 14 天後將物件設為過期。

S3 生命週期組態如以下範例所示。

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Tag> <Key>tag1</Key> <Value>value1</Value> </Tag> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>GLACIER<StorageClass> <Days>365</Days> </Transition> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Tag> <Key>tag2</Key> <Value>value2</Value> </Tag> </Filter> <Status>Enabled</Status> <Expiration> <Days>14</Days> </Expiration> </Rule> </LifecycleConfiguration>

如果物件擁有兩個標籤,則 Amazon S3 必須決定要遵循哪個規則。在這種情況下,Amazon S3 會選擇在建立物件的 14 天後將其設為過期。該物件將會移除,因此不會套用轉換動作。

重要

當您在 S3 生命週期組態中有多個規則時,一個物件可能會在同一天符合多個 S3 生命週期動作的資格。在這種情況下,Amazon S3 遵循以下一般規則:

  • 永久刪除優先於轉換。

  • 轉移優先於刪除標記的建立。

  • 當物件符合 S3 冰川彈性擷取和 S3 標準 — IA (或 S3 單區域 — IA) 轉換的資格時,Amazon S3 會選擇 S3 冰川彈性擷取轉換。

如需範例,請參閱 範例 5:篩選條件重疊、生命週期動作相衝突,以及 Amazon S3 對為進行版本控制的儲存貯體所採取的動作。

範例 6:為已啟用版本控制的儲存貯體指定生命週期規則

假設您有一個已啟用版本控制的儲存貯體,就表示對於每個物件來說,您都有一個最新版本及零或多個非最新版本。(如需 S3 版本控制的詳細資訊,請參閱 在 S3 儲存貯體中使用版本控制。) 在此範例中,您希望維持為期一年的歷史記錄,然後刪除非最新版本。S3 生命週期組態支援保留 1 到 100 個版本的任何物件。

若要節省儲存成本,您會希望在非最新版本脫離最新版本 30 天後,將其移至 S3 Glacier Flexible Retrieval (假設這些非最新物件是您不需要即時存取的原始資料)。此外,您預期目前版本的存取頻率會在建立後 90 天減少,因此您可以選擇將這些物件移至 S3 標準 — IA 儲存類別。

<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Filter> <Prefix></Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>90</Days> <StorageClass>STANDARD_IA</StorageClass> </Transition> <NoncurrentVersionTransition> <NoncurrentDays>30</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NewerNoncurrentVersions>5</NewerNoncurrentVersions> <NoncurrentDays>365</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>

範例 7:移除過期物件刪除標記

對於每個物件來說,已啟用版本控制的儲存貯體會有一個目前的版本,以及零或多個非目前的版本。當您刪除物件時,請注意下列事項:

  • 若在刪除請求中並未指定版本 ID,則 Amazon S3 會為物件新增刪除標記,而非直接刪除該物件。最新物件版本會變為非最新版本,且刪除標記將會成為最新版本。

  • 若在刪除請求中指定了版本 ID,則 Amazon S3 會永久刪除物件版本 (不會建立刪除標記)。

  • 沒有任何非最新版本的刪除標記,稱為過期物件刪除標記

此範例說明在儲存貯體中建立過期物件刪除標記,以及使用 S3 生命週期組態來指示 Amazon S3 移除過期物件刪除標記的情況。

假設您撰寫 S3 生命週期組態,該組態使用該NoncurrentVersionExpiration動作在非最新版本變成非最新版本 30 天後移除,並保留最多 10 個非最新版本,如下列範例所示。

<LifecycleConfiguration> <Rule> ... <NoncurrentVersionExpiration> <NewerNoncurrentVersions>10</NewerNoncurrentVersions> <NoncurrentDays>30</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>

NoncurrentVersionExpiration 動作不適用最新版本的物件。只會移除非最新版本。

對於最新物件版本來說,您有下列選項可管理其生命週期,完全取決於最新物件版本是否妥善定義了生命週期:

  • 最新物件版本遵循妥善定義的生命週期。

    在此情況下,可以使用 S3 生命週期組態搭配 Expiration 動作,指示 Amazon S3 移除最新版本,如以下範例所示。

    <LifecycleConfiguration> <Rule> ... <Expiration> <Days>60</Days> </Expiration> <NoncurrentVersionExpiration> <NewerNoncurrentVersions>10</NewerNoncurrentVersions> <NoncurrentDays>30</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>

    在此範例中,Amazon S3 會在建立最新版本的 60 天後,藉由為每個最新物件版本新增一個刪除標記,將其移除。此程序會讓最新版本成為非最新版本,而刪除標記則會成為最新版本。如需詳細資訊,請參閱 在 S3 儲存貯體中使用版本控制

    注意

    您無法在同一個規則上同時指定 DaysExpiredObjectDeleteMarker 標籤。在您指定 Days 標籤的情況下,一旦刪除標記足夠舊,符合留存時間標準,Amazon S3 將自動執行 ExpiredObjectDeleteMarker 清除。若要在刪除標記成為唯一版本後立即清除刪除標記,請建立僅包含 ExpiredObjectDeleteMarker 標籤的個別規則。

    相同 S3 生命週期組態中的 NoncurrentVersionExpiration 動作,會在物件成為非最新版本的 30 天後,移除非最新版本物件。因此,在此範例中,所有物件版本會在建立物件 90 天後永久移除。雖然在此過程中會建立過期的物件刪除標記,但 Amazon S3 會為您偵測並移除已過期的物件刪除標記。

  • 最新物件版本沒有妥善定義的生命週期。

    在此情況下,您可以在不需要物件的時候手動將其移除,透過一或多個非最新版本建立刪除標記。如果具有 NoncurrentVersionExpiration 動作的 S3 生命週期組態,移除了所有非最新版本,則您即會有已過期的物件刪除標記。

    S3 生命週期組態特別針對此案例提供 Expiration 動作,您可以使用此動作移除已過期的物件刪除標記。

    <LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Expiration> <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker> </Expiration> <NoncurrentVersionExpiration> <NewerNoncurrentVersions>10</NewerNoncurrentVersions> <NoncurrentDays>30</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>

藉由在 Expiration 動作中將 ExpiredObjectDeleteMarker 元素設定為 true,您可以指示 Amazon S3 移除已過期的物件刪除標記。

注意

使用 ExpiredObjectDeleteMarker S3 生命週期動作時,該規則無法指定使用標籤設定的篩選條件。

範例 8:中止分段上傳的生命週期組態

您可以使用 Amazon S3 分段上傳 REST API 操作,分段上傳大型物件。如需分段上傳的詳細資訊,請參閱「使用分段上傳來上傳和複製物件」。

透過使用 S3 生命週期組態,如果 Amazon S3 在啟動後的指定天數內未完成,您可以指示 Amazon S3 停止不完整的多部分上傳 (由規則中指定的金鑰名稱前置詞識別)。Amazon S3 中止分段上傳後,其會刪除所有與該分段上傳相關聯的部分。此過程可確保您不會有未完成之分段上傳的部分存放在 Amazon S3 中,從而協助您控制儲存成本。

注意

使用 AbortIncompleteMultipartUpload S3 生命週期動作時,該規則無法指定使用標籤設定的篩選條件。

下列 S3 生命週期組態範例指定了一項規則,其會採取 AbortIncompleteMultipartUpload 動作。此動作會指示 Amazon S3 在分段上傳開始的七天後,停止未完成的分段上傳。

<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Filter> <Prefix>SomeKeyPrefix/</Prefix> </Filter> <Status>rule-status</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>7</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration>

範例 9:使用以大小為基礎之規則的生命週期組態

您可以建立僅根據物件大小轉換物件的規則。您可以指定最小大小 (ObjectSizeGreaterThan) 或最大大小 (ObjectSizeLessThan),或者您可以指定物件大小 (以位元組計) 的範圍。使用多個篩選條件時,例如字首和大小規則,您必須將篩選條件包裝在 <And> 元素中。

<LifecycleConfiguration> <Rule> <ID>Transition with a prefix and based on size</ID> <Filter> <And> <Prefix>tax/</Prefix> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> </And> </Filter> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> </LifecycleConfiguration>

如果您同時使用 ObjectSizeGreaterThanObjectSizeLessThan 元素指定範圍,則物件大小上限必須大於物件大小下限。使用多個篩選條件時,您必須將篩選條件包裝在 <And> 元素中。下列範例會示範如何指定範圍介於 500 位元組和 64,000 個位元組之間的物件。當您指定範圍時,ObjectSizeGreaterThanObjectSizeLessThan篩選器會排除指定的值。如需詳細資訊,請參閱 Filter 元素

<LifecycleConfiguration> <Rule> ... <And> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> <ObjectSizeLessThan>64000</ObjectSizeLessThan> </And> </Rule> </LifecycleConfiguration>

您也可以建立規則專門讓沒有任何資料的非最新物件過期,包括啟用版本控制的儲存貯體中建立的非最新刪除標記物件。下列範例使用 NoncurrentVersionExpiration 動作,在版本變成非最新版本後經過 30 天即將其移除,並保留最多 10 個非最新的物件版本。此外還會使用 ObjectSizeLessThan 元素只篩選出沒有資料的物件。

<LifecycleConfiguration> <Rule> <ID>Expire noncurrent with size less than 1 byte</ID> <Filter> <ObjectSizeLessThan>1</ObjectSizeLessThan> </Filter> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NewerNoncurrentVersions>10</NewerNoncurrentVersions> <NoncurrentDays>30</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>