Esempi di configurazione del ciclo di vita S3 - Amazon Simple Storage Service

Esempi di configurazione del ciclo di vita S3

In questa sezione vengono forniti alcuni esempi di configurazione del ciclo di vita S3. Ogni esempio mostra come si può specificare il codice XML in ciascun scenario di esempio.

Esempio 1: specifica di un filtro

Ogni regola del ciclo di vita S3 include un filtro che è possibile utilizzare per identificare un sottoinsieme di oggetti nel bucket a cui si applica la regola del ciclo di vita S3. Le configurazioni del ciclo di vita S3 seguenti mostrano esempi di come specificare un filtro.

  • In questa regola di configurazione del ciclo di vita S3, il filtro specifica un prefisso della chiave (tax/). Pertanto la regola si applica agli oggetti con il prefisso del nome della chiave tax/, ad esempio tax/doc1.txt e tax/doc2.txt.

    La regola specifica due operazioni che richiedono ad Amazon S3 di eseguire quanto segue:

    • Trasferire gli oggetti nella classe di archiviazione S3 Glacier Flexible Retrieval dopo 365 giorni (un anno) dalla data di creazione.

    • Eliminare gli oggetti (operazione Expiration) dopo 3.650 giorni (10 anni) dalla data di creazione.

    <LifecycleConfiguration> <Rule> <ID>Transition and Expiration Rule</ID> <Filter> <Prefix>tax/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>S3 Glacier Flexible Retrieval</StorageClass> </Transition> <Expiration> <Days>3650</Days> </Expiration> </Rule> </LifecycleConfiguration>

    Invece di specificare l'età dell'oggetto in termini di giorni dalla data di creazione, è possibile specificare una data per ogni operazione. Non è tuttavia possibile utilizzare sia Date sia Days nella stessa regola.

  • Per applicare la regola del ciclo di vita S3 a tutti gli oggetti nel bucket, occorre specificare un prefisso vuoto. Nella configurazione seguente, la regola specifica un'operazione Transition che indica ad Amazon S3 di trasferire gli oggetti nella classe di archiviazione S3 Glacier Flexible Retrieval dopo 0 giorni dalla data di creazione. Questa regola indica che gli oggetti sono idonei per l'archiviazione su Amazon S3 Glacier a mezzanotte UTC dopo la creazione. Per ulteriori informazioni sui vincoli del ciclo di vita, consulta la sezione Vincoli.

    <LifecycleConfiguration> <Rule> <ID>Archive all object same-day upon creation</ID> <Filter> <Prefix></Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>0</Days> <StorageClass>S3 Glacier Flexible Retrieval</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
  • È possibile specificare zero o un prefisso del nome della chiave e zero o più tag di oggetto in un filtro. Nel codice di esempio riportato di seguito la regola del ciclo di vita S3 viene applicata a un sottoinsieme di oggetti con il prefisso della chiave tax/ e agli oggetti che dispongono di due tag con chiave e valore specifici. Quando si specifica più di un filtro, è necessario includere l'elemento <And> come mostrato (Amazon S3 applica un'istruzione AND logica per combinare le condizioni del filtro specificate).

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

  • È possibile filtrare gli oggetti in base solo ai tag. La regola dei ciclo di vita S3 riportata di seguito, ad esempio, viene applicata agli oggetti che dispongono dei due tag specificati (non viene specificato alcun prefisso).

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

Importante

Quando una configurazione del ciclo di vita S3 contiene più regole, un oggetto può diventare idoneo a più operazioni del ciclo di vita S3. In questi casi, Amazon S3 segue le seguenti regole generali:

  • L'eliminazione permanente ha la precedenza sul trasferimento.

  • Il trasferimento ha la precedenza sulla creazione dei contrassegni di eliminazione.

  • Quando un oggetto è idoneo sia per una transizione S3 Glacier Flexible Retrieval che S3 Standard-IA (o S3 One Zone-IA), Amazon S3 sceglie la transizione S3 Glacier Flexible Retrieval.

Per alcuni esempi, consulta Esempio 5: Sovrapposizione di filtri, conflitto tra operazioni del ciclo di vita e comportamento di Amazon S3 con bucket senza versione.

Esempio 2: Disabilitare una regola del ciclo di vita

Un regola del ciclo di vita S3 può essere disabilitata temporaneamente. Nella configurazione del ciclo di vita S3 seguente sono specificate due regole:

  • La regola 1 indica ad Amazon S3 di trasferire gli oggetti con il prefisso logs/ nella classe di archiviazione S3 Glacier Flexible Retrieval subito dopo la creazione.

  • La regola 2 indica ad Amazon S3 di trasferire gli oggetti con il prefisso documents/ nella classe di archiviazione S3 Glacier Flexible Retrieval subito dopo la creazione.

Nella policy, la regola 1 è abilitata e la regola 2 è disabilitata. Amazon S3 ignora le regole disabilitate.

<LifecycleConfiguration> <Rule> <ID>Rule1</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>0</Days> <StorageClass>S3 Glacier Flexible Retrieval</StorageClass> </Transition> </Rule> <Rule> <ID>Rule2</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Disabled</Status> <Transition> <Days>0</Days> <StorageClass>S3 Glacier Flexible Retrieval</StorageClass> </Transition> </Rule> </LifecycleConfiguration>

Esempio 3: abbassamento della classe di storage durante la vita dell'oggetto

In questo esempio, la configurazione del ciclo di vita S3 viene utilizzata per abbassare la classe di archiviazione degli oggetti nel corso della loro esistenza. Tale abbassamento contribuisce a ridurre i costi di storage. Per ulteriori informazioni sui prezzi, consulta la sezione Prezzi di Amazon S3.

Nella configurazione del ciclo di vita S3 riportata di seguito viene specificata una regola che si applica agli oggetti con il prefisso del nome della chiave logs/. Nella regola vengono specificate le seguenti operazioni:

  • Due operazioni di trasferimento:

    • Trasferimento degli oggetti nella classe di archiviazione S3 Standard-IA - accesso infrequente dopo 30 giorni dalla data di creazione.

    • Trasferimento degli oggetti nella classe di archiviazione S3 Glacier Flexible Retrieval dopo 90 giorni dalla data di creazione.

  • Una operazione di scadenza che indica ad Amazon S3 di eliminare questi oggetti un anno dopo la creazione.

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

È possibile utilizzare un'unica regola per descrivere tutte le operazioni del ciclo di vita S3, se queste si applicano allo stesso insieme di oggetti (identificati dal filtro). In caso contrario, si possono aggiungere più regole per ogni oggetto specificando un filtro diverso.

Esempio 4: specifica di più regole

Per eseguire operazioni del ciclo di vita S3 diverse su vari oggetti, è possibile specificare più regole. Nella configurazione del ciclo di vita S3 seguente sono specificate due regole:

  • La regola 1 si applica agli oggetti con il prefisso nel nome della chiav classA/. Questa regola indica ad Amazon S3 di trasferire gli oggetti alla classe di archiviazione S3 Glacier Flexible Retrieval un anno dopo la creazione e di rimuoverli dopo 10 anni dalla creazione.

  • La regola 2 si applica agli oggetti con il prefisso nel nome della chiav classB/. Questa regola indica ad Amazon S3 di trasferire gli oggetti alla classe di storage S3 Standard-IA 90 giorni dopo la creazione e di eliminarli dopo un anno dalla creazione.

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

Esempio 5: Sovrapposizione di filtri, conflitto tra operazioni del ciclo di vita e comportamento di Amazon S3 con bucket senza versione

In una configurazione del ciclo di vita S3 potrebbero venire specificati prefissi o operazioni che si sovrappongono.

In genere, il ciclo di vita S3 ottimizza i costi. Ad esempio, se due policy per la scadenza di sovrappongono, verrà onorata la policy per la scadenza più breve in modo che i dati non rimangano archiviati più a lungo del previsto. Analogamente, se due policy di trasferimento si sovrappongono, il ciclo di vita S3 eseguirà la transizione degli oggetti nella classe di storage ottimizzata per i costi.

In entrambi i casi, il ciclo di vita S3 tenta di scegliere il percorso meno costoso per l'utente. Un'eccezione a questa regola generale è con la classe di storage S3 Intelligent-Tiering. S3 Intelligent-Tiering è preferito dal ciclo di vita S3 rispetto a qualsiasi classe di archiviazione, a parte S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive.

Negli esempi seguenti viene illustrato in che modo Amazon S3 sceglie di risolvere i potenziali conflitti.

Esempio 1: sovrapposizione di prefissi (nessun conflitto)

La configurazione di esempio riportata di seguito include due regole in cui sono specificati prefissi che si sovrappongono nel modo seguente:

  • La prima regola specifica un filtro vuoto, che indica tutti gli oggetti nel bucket.

  • La seconda regola specifica un prefisso del nome della chiave (logs/), che indica solo un sottoinsieme di oggetti.

La regola 1 richiede ad Amazon S3 di eliminare tutti gli oggetti un anno dopo la creazione. La regola 2 richiede ad Amazon S3 di passare un sottoinsieme di oggetti alla classe di storage S3 Standard-IA 30 giorni dopo la creazione.

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

Poiché in questo caso non vi sono conflitti, Amazon S3 trasferirà gli oggetti con il prefisso logs/ nella classe di archiviazione S3 Standard-IA dopo 30 giorni dalla data di creazione. Una volta passato un anno dalla data di creazione di qualsiasi oggetto, questo verrà eliminato.

Esempio 2: conflitto tra operazioni del ciclo di vita

Questa configurazione di esempio include due regole che indicano ad Amazon S3 di eseguire due operazioni diverse sullo stesso insieme di oggetti nello stesso momento dell'esistenza degli oggetti:

  • Entrambe le regole specificano lo stesso prefisso nel nome della chiave, quindi entrambe le regole si applicano allo stesso insieme di oggetti.

  • Entrambe le regole specificano che devono essere applicate 365 giorni dopo la data di creazione degli oggetti.

  • Una regola indica ad Amazon S3 di eseguire la transizione degli oggetti alla classe di storage S3 Standard-IA, mentre un'altra specifica che Amazon S3 deve fare scadere gli oggetti contemporaneamente.

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

In questo caso, dal momento che l'obiettivo è di far scadere (rimuovere) gli oggetti, non ha senso cambiare la classe di archiviazione, quindi Amazon S3 sceglie semplicemente di eseguire l'operazione di scadenza su questi oggetti.

Esempio 3: sovrapposizione di prefissi con conseguente conflitto tra operazioni del ciclo di vita

In questo esempio la configurazione include due regole, in cui sono specificati prefissi che si sovrappongono nel modo seguente:

  • La regola 1 specifica un prefisso vuoto, che indica tutti gli oggetti.

  • La regola 2 specifica un prefisso della chiave (logs/), che indica un sottoinsieme di tutti gli oggetti.

Per il sottoinsieme di oggetti con il prefisso nel nome della chiave logs/, si applicano le operazioni del ciclo di vita S3 in entrambe le regole. Una regola indica ad Amazon S3 di trasferire gli oggetti 10 giorni dopo la data di creazione mentre un'altra regola indica ad Amazon S3 di trasferirli 365 giorni dopo la data di creazione.

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

In questo caso, Amazon S3 sceglie di trasferirli 10 giorni dopo la data di creazione.

Esempio 4: applicazione di un filtro basato su tag con conseguente conflitto tra operazioni del ciclo di vita

Supponiamo di avere la policy del ciclo di vita S3 seguente con due regole, in ognuna delle quali è specificato un filtro basato su tag:

  • La regola 1 specifica un filtro basato su tag (tag1/value1). Questa regola indica ad Amazon S3 di trasferire gli oggetti nella classe di archiviazione S3 Glacier Flexible Retrieval 365 giorni dopo la data di creazione.

  • La regola 2 specifica un filtro basato su tag (tag2/value2). Questa regola indica ad Amazon S3 di far scadere gli oggetti 14 giorni dopo la creazione.

Nell'esempio di seguito viene mostrata la configurazione del ciclo di vita 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>

Se un oggetto ha entrambi i tag, Amazon S3 deve decidere quale regola seguire. In questo caso, Amazon S3 fa scadere l'oggetto 14 giorni dopo la data di creazione. L'oggetto viene rimosso, quindi non viene eseguita l'operazione di trasferimento.

Esempio 6: specifica di una regola del ciclo di vita per un bucket che supporta la funzione Controllo delle versioni

Supponiamo di avere un bucket con il controllo delle versioni abilitato. Questo significa che per ogni oggetto esistono una versione corrente e zero o più versioni non correnti. (Per ulteriori informazioni su Controllo versioni S3, consulta Utilizzo della funzione Controllo delle versioni nei bucket S3.) In questo esempio si vuole mantenere la cronologia di un anno e quindi eliminare le versioni non correnti. Le configurazioni del ciclo di vita di S3 supportano la conservazione da 1 a 100 versioni di qualsiasi oggetto.

Per risparmiare sui costi di archiviazione è necessario spostare le versioni non correnti in S3 Glacier Flexible Retrieval 30 giorni dopo che diventano non correnti (supponendo che si tratti di dati cold a cui non è necessario accedere in tempo reale). Inoltre è prevedibile che la frequenza di accesso alle versioni correnti diminuisca nell'arco di 90 giorni dalla data di creazione, pertanto si può scegliere di spostare questi oggetti nella classe di archiviazione S3 Standard-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>S3 Glacier Flexible Retrieval</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NewerNoncurrentVersions>5</NewerNoncurrentVersions> <NoncurrentDays>365</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>

Esempio 7: rimozione dei contrassegni di eliminazione oggetto scaduto

Un bucket abilitato per la funzione Controllo delle versioni mantiene una versione corrente e zero o più versioni non correnti di ogni oggetto. Quando si elimina un oggetto, tenere presente quanto segue:

  • Se non si specifica un ID versione nella richiesta di eliminazione, Amazon S3 aggiunge un contrassegno di eliminazione invece di eliminare l'oggetto. La versione dell'oggetto corrente diventa non corrente, quindi il contrassegno di eliminazione diventa la versione corrente.

  • Se si specifica un ID versione nella richiesta di eliminazione, Amazon S3 elimina la versione dell'oggetto in modo permanente (non viene creato alcun contrassegno di eliminazione).

  • Un contrassegno di eliminazione con zero versioni non correnti viene definito un contrassegno di eliminazione oggetto scaduto.

In questo esempio viene mostrato uno scenario che può creare contrassegni di eliminazione oggetto scaduto nel bucket. Viene inoltre mostrato come utilizzare la configurazione del ciclo di vita S3 per indicare ad Amazon S3 di rimuovere i contrassegni di eliminazione oggetto scaduto.

Supponiamo di scrivere una policy del ciclo di vita S3 che utilizza l'operazione NoncurrentVersionExpiration per rimuovere le versioni non correnti 30 giorni dopo che sono diventate non correnti mantenendo al massimo 10 versioni non correnti, come mostrato nell'esempio frequente.

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

L'operazione NoncurrentVersionExpiration non si applica alle versioni correnti dell'oggetto. Rimuove solamente le versioni non correnti.

Per le versioni dell'oggetto correnti esistono le seguenti opzioni per gestirne la durata a seconda che le versioni dell'oggetto correnti seguano un ciclo di vita ben definito:

  • Le versioni correnti dell'oggetto seguono un ciclo di vita ben definito.

    In questo caso si può utilizzare una policy del ciclo di vita S3 con l'operazione Expiration per indicare ad Amazon S3 di rimuovere le versioni correnti, come mostrato nell'esempio seguente.

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

    Amazon S3 rimuove le versioni correnti 60 giorni dopo la data di creazione aggiungendo un contrassegno di eliminazione per ognuna delle versioni dell'oggetto correnti. La versione corrente diventa quindi non corrente e il contrassegno di eliminazione diventa la versione corrente. Per ulteriori informazioni, consultare Utilizzo della funzione Controllo delle versioni nei bucket S3.

    Nota

    Non è possibile specificare sia un tag Days che un tag ExpiredObjectDeleteMarker sulla stessa regola. Specificando il tag Days, Amazon S3 eseguirà automaticamente la pulizia di ExpiredObjectDeleteMarker una volta che i contrassegni di eliminazione sono abbastanza vecchi da soddisfare i criteri di età. È possibile creare una regola separata con solo il tag ExpiredObjectDeleteMarker per ripulire i contrassegni di eliminazione non appena diventano l'unica versione.

    L'operazione NoncurrentVersionExpiration nella stessa configurazione del ciclo di vita S3 rimuove gli oggetti non correnti 30 giorni dopo che sono diventati non correnti. Pertanto, in questo esempio, tutte le versioni degli oggetti vengono rimosse in modo permanente 90 giorni dopo la creazione dell'oggetto. Nonostante i contrassegni di eliminazione degli oggetti scaduti vengano creati durante questo processo, Amazon S3 rileva e rimuove i contrassegni di eliminazione degli oggetti scaduti per te.

  • Versioni correnti dell'oggetto che non seguono un ciclo di vita ben definito.

    In questo caso è possibile rimuovere gli oggetti manualmente quando non servono più, creando un contrassegno di eliminazione con una o più versioni non correnti. Se la configurazione del ciclo di vita S3 con l'operazione NoncurrentVersionExpiration rimuove tutte le versioni non correnti, rimarranno i contrassegni di eliminazione oggetto scaduto.

    In questo specifico scenario la configurazione del ciclo di vita S3 fornisce un'operazione Expiration che puoi utilizzare per rimuovere i contrassegni di eliminazione oggetto scaduto.

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

Se si imposta l'elemento ExpiredObjectDeleteMarker su true nell'operazione Expiration, si indica ad Amazon S3 di rimuovere i contrassegni di eliminazione oggetto scaduto.

Nota

Quando si specifica l'operazione del ciclo di vita S3 ExpiredObjectDeleteMarker, nella regola non può essere specificato un filtro basato su tag.

Esempio 8: configurazione del ciclo di vita per interrompere i caricamenti in più parti

È possibile utilizzare l'operazione REST API di Amazon S3 per il caricamento in più parti per caricare oggetti di grandi dimensioni in parti. Per ulteriori informazioni sui caricamenti in più parti, consulta la sezione Caricamento e copia di oggetti utilizzando il caricamento in più parti.

Utilizzando la configurazione del ciclo di vita S3, è possibile indicare ad Amazon S3 di interrompere i caricamenti in più parti incompleti (identificati dal prefisso della chiave specificato nella regola) se non vengono completati entro un numero specificato di giorni dalla data di avvio. Quando Amazon S3 interrompe un caricamento in più parti, elimina tutte le parti associate al caricamento in più parti. Questo processo aiuta a controllare i costi di archiviazione garantendo che non siano presenti caricamenti in più parti incompleti con parti archiviate in Amazon S3.

Nota

Quando si specifica l'operazione del ciclo di vita S3 AbortIncompleteMultipartUpload, nella regola non può essere specificato un filtro basato su tag.

Di seguito è riportata una configurazione del ciclo di vita S3 di esempio che specifica una regola con l'operazione AbortIncompleteMultipartUpload. Questa operazione richiede ad Amazon S3 di interrompere i caricamenti in più parti incompleti sette giorni dopo l'avvio.

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

Esempio 9: Configurazione del ciclo di vita con regole basate sulle dimensioni

È possibile creare regole per la transizione degli oggetti in base alle dimensioni. Puoi specificare una dimensione minima (ObjectSizeGreaterThan) o una dimensione massima (ObjectSizeLessThan) oppure puoi specificare un intervallo di dimensioni dell'oggetto (in byte). Quando si utilizzano più filtri, ad esempio un prefisso e una regola di dimensione, è necessario racchiudere i filtri in un elemento <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>S3 Glacier Flexible Retrieval</StorageClass> </Transition> </Rule> </LifecycleConfiguration>

Se stai specificando un intervallo utilizzando entrambi gli elementi ObjectSizeGreaterThan e ObjectSizeLessThan, la dimensione massima dell'oggetto deve essere maggiore della dimensione minima dell'oggetto. Quando si utilizzano più filtri, è necessario racchiudere i filtri in un elemento <And>. L'esempio seguente illustra come specificare gli oggetti in un intervallo compreso tra 500 e 64000 byte.

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