Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Impostazione di una configurazione del ciclo di vita S3 in un bucket

Modalità Focus
Impostazione di una configurazione del ciclo di vita S3 in un bucket - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Puoi impostare una configurazione del ciclo di vita di Amazon S3 su un bucket utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), o AWS SDKs l'API REST di Amazon S3. Per informazioni sulla configurazione del ciclo di vita S3, consulta Gestione del ciclo di vita degli oggetti.

Nota

Per visualizzare o modificare la configurazione del ciclo di vita per un bucket di directory, usa o l'API AWS CLI AWS SDKs REST di Amazon S3. Per ulteriori informazioni, consulta Operazioni con S3 Lifecycle per i bucket di directory.

Nella configurazione del ciclo di vita S3, si utilizzano le regole del ciclo di vita per definire le operazioni che devono essere eseguite da Amazon S3 durante il ciclo di vita di un oggetto. Ad esempio, è possibile definire regole per trasferire gli oggetti in un'altra classe di storage, archiviare gli oggetti o far scadere (eliminare) gli oggetti dopo un periodo di tempo specificato.

Considerazioni sul ciclo di vita S3

Prima di impostare una configurazione del ciclo di vita, tieni presente quanto segue:

Ritardo di propagazione della configurazione del ciclo di vita

Quando si aggiunge una configurazione del ciclo di vita S3 in un bucket, la propagazione della configurazione nuova o aggiornata a tutti i sistemi Amazon S3 viene in genere completata con un leggero ritardo. Occorrono alcuni minuti prima che la configurazione venga applicata completamente. Questo ritardo può verificarsi anche quando si elimina una configurazione del ciclo di vita S3.

Ritardo di transizione o scadenza

Esiste un ritardo tra il momento in cui una regola del ciclo di vita viene soddisfatta e il completamento dell'operazione relativa alla regola. Ad esempio, supponiamo che un set di oggetti sia scaduto in base a una regola del ciclo di vita il 1° gennaio. Anche se la regola di scadenza è stata soddisfatta il 1° gennaio, Amazon S3 potrebbe effettivamente eliminare questi oggetti solo giorni o addirittura settimane dopo. Questo ritardo si verifica perché il ciclo di vita S3 mette in coda gli oggetti per le transizioni o le scadenze in modo asincrono. Tuttavia, le modifiche alla fatturazione vengono in genere applicate quando la regola del ciclo di vita viene soddisfatta, anche se l'operazione non è completa. Per ulteriori informazioni, consulta Modifiche nella fatturazione. Per monitorare l'effetto degli aggiornamenti effettuati dalle regole attive del ciclo di vita, consulta Come posso monitorare le azioni intraprese dalle mie regole del ciclo di vita?

Aggiornamento, disabilitazione o eliminazione delle regole del ciclo di vita

Quando una regola del ciclo di vita viene disabilitata o eliminata, dopo un breve ritardo Amazon S3 interrompe la pianificazione dell'eliminazione o del trasferimento di nuovi oggetti. Le pianificazioni degli oggetti già pianificati vengono annullate e gli oggetti non vengono eliminati né spostati.

Nota

Prima di aggiornare, disabilitare o eliminare le regole del ciclo di vita, utilizza le operazioni API (ad esempio LIST ListObjectsV2, ListObjectVersionse ListMultipartUploads) o Catalogazione e analisi dei dati con Inventario S3 per verificare che Amazon S3 abbia effettuato la transizione e che siano scaduti oggetti idonei in base ai tuoi casi d'uso. Se si verificano problemi con l'aggiornamento, la disabilitazione o l'eliminazione delle regole del ciclo di vita, consulta Risoluzione dei problemi del ciclo di vita di Amazon S3.

Oggetti esistenti e nuovi

Quando si aggiunge una configurazione del ciclo di vita a un bucket, le regole di configurazione si applicano sia agli oggetti esistenti sia a quelli che vengono aggiunti in un secondo momento. Se, ad esempio, si aggiunge in data odierna una regola di configurazione del ciclo di vita con un'operazione di scadenza in base a cui gli oggetti con un prefisso specifico scadono 30 giorni dopo la creazione, Amazon S3 inserirà nella coda di eliminazione tutti gli oggetti esistenti creati da più di 30 giorni e che hanno il prefisso specificato.

Monitoraggio dell'effetto delle regole del ciclo di vita

Per monitorare l'effetto degli aggiornamenti effettuati dalle regole attive del ciclo di vita, consulta Come posso monitorare le azioni intraprese dalle mie regole del ciclo di vita?

Modifiche nella fatturazione

Potrebbe esserci un ritardo tra il momento in cui le regole di configurazione del ciclo di vita vengono soddisfatte e il momento in cui viene avviata l'operazione attivata da tali regole. Le modifiche nella fatturazione avvengono invece non appena la regola di configurazione del ciclo di vita viene soddisfatta, anche se l'operazione non è stata ancora avviata.

Per fare un esempio, dopo la scadenza dell'oggetto, il costo di storage non viene addebitato anche se l'oggetto non viene eliminato immediatamente. Allo stesso modo, non appena scade il tempo di transizione dell'oggetto, vengono addebitate le tariffe di storage Recupero flessibile S3 Glacier anche se l'oggetto non viene trasferito immediatamente alla classe di storage Recupero flessibile S3 Glacier.

Tuttavia, le transizioni del ciclo di vita alla classe di storage Piano intelligente S3 rappresentano un'eccezione. Le modifiche alla fatturazione avvengono solo dopo che l'oggetto è stato trasferito alla classe di storage Piano intelligente S3.

Regole multiple o in conflitto

Quando una configurazione del ciclo di vita S3 contiene più regole, un oggetto può diventare idoneo a più operazioni del ciclo di vita S3 nello stesso giorno. 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 Recupero flessibile S3 Glacier che AI S3 Standard (o AI a zona unica S3), Amazon S3 sceglie la transizione Recupero flessibile S3 Glacier.

Per alcuni esempi, consulta Esempi di sovrapposizione di filtri e conflitto tra operazioni del ciclo di vita.

Come impostare una configurazione del ciclo di vita S3

Puoi impostare una configurazione del ciclo di vita di Amazon S3 su un bucket generico utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), o AWS SDKs l'API REST di Amazon S3.

Per informazioni su AWS CloudFormation modelli ed esempi, consulta Lavorare con i modelli e AWS CloudFormation AWS::S3::Bucket nella Guida per l'utente di AWS CloudFormation .

È possibile definire regole del ciclo di vita per tutti gli oggetti o un sottoinsieme di oggetti in un bucket utilizzando un prefisso condiviso (nomi di oggetti che iniziano con una stringa comune) o un tag. In una regola del ciclo di vita è possibile definire operazioni specifiche per versioni di oggetti correnti e non correnti. Per ulteriori informazioni, consulta gli argomenti seguenti:

Per creare una regola del ciclo di vita
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel riquadro di navigazione sinistro, scegli Bucket per uso generico.

  3. Nell'elenco dei bucket, scegli il nome del bucket per cui desideri creare una regola del ciclo di vita.

  4. Scegliere la scheda Management (Gestione), quindi Create lifecycle rule (Crea regola ciclo di vita).

  5. In Lifecycle rule name (Nome regola ciclo di vita) immettere un nome per la regola.

    Il nome deve essere univoco all'interno del bucket.

  6. Scegliere l'ambito della regola del ciclo di vita:

    • Per applicare questa regola del ciclo di vita a tutti gli oggetti con un prefisso o un tag specifico, scegliere Limita l'ambito a prefissi o tag specifici.

      • Per limitare l'ambito in base al prefisso, in Prefix (Prefisso) immettere il prefisso.

      • Per limitare l'ambito in base al tag, scegliere Add tag (Aggiungi tag) e immettere la chiave e il valore del tag.

      Per ulteriori informazioni sui prefissi dei nomi oggetto, consulta Denominazione di oggetti Amazon S3. Per ulteriori informazioni sui tag degli oggetti, consulta Suddivisione in categorie dello storage utilizzando i tag.

    • Per applicare questa regola del ciclo di vita a tutti gli oggetti nel bucket, scegli Questa regola si applica a tutti gli oggetti nel bucket e quindi Confermo che questa regola si applica a tutti gli oggetti nel bucket.

  7. Per filtrare una regola in base alle dimensioni dell'oggetto, è possibile selezionare Specifica la dimensione minima dell'oggetto, Specifica la dimensione massima dell'oggetto o entrambe le opzioni.

    • Quando si specifica un valore per Dimensione minima dell'oggetto o Dimensione massima dell'oggetto, il valore deve essere superiore a 0 byte e può arrivare fino a 5 TB. È possibile specificare questo valore in byte, KB, MB o GB.

    • Quando si specificano entrambi i valori, la dimensione massima dell'oggetto deve essere superiore alla dimensione minima dell'oggetto.

      Nota

      I filtri Dimensione minima dell'oggetto e Dimensione massima dell'oggetto escludono i valori specificati. Ad esempio, se si imposta un filtro per far scadere gli oggetti con una Dimensione minima dell'oggetto di 128 KB, gli oggetti la cui dimensione è esattamente 128 KB non scadono. La regola si applica invece solo agli oggetti con dimensioni superiori a 128 KB.

  8. In Lifecycle rule actions (Operazioni regola ciclo di vita) scegliere le operazioni da far eseguire alla regola del ciclo di vita:

    • Transizione delle versioni correnti degli oggetti tra classi di storage

    • Transizione delle versioni precedenti degli oggetti tra classi di storage

    • Definizione della scadenza delle versioni correnti degli oggetti

      Nota

      Per i bucket che non hanno il controllo delle versioni S3 abilitato, la scadenza delle versioni correnti fa sì che Amazon S3 elimini definitivamente gli oggetti. Per ulteriori informazioni, consulta Operazioni del ciclo di vita e stato della funzione Controllo delle versioni nel bucket.

    • Eliminazione permanente delle versioni precedenti degli oggetti

    • Eliminazione dei contrassegni di eliminazione o di caricamenti in più parti incompleti

    A seconda delle operazioni scelte, vengono visualizzate opzioni diverse.

  9. Per eseguire la transizione delle versioni correnti degli oggetti tra classi di storage, in Transizione delle versioni correnti degli oggetti tra classi di storage procedere come segue:

    1. In Transizione a una classe di storage scegli la classe di storage in cui eseguire la transizione. Per un elenco delle possibili transizioni, consulta Transizioni del ciclo di vita supportate. È possibile scegliere tra le seguenti classi di storage:

      • S3 Standard-IA

      • S3 Intelligent-Tiering

      • S3 One Zone-IA

      • S3 Glacier Instant Retrieval

      • S3 Glacier Flexible Retrieval

      • S3 Glacier Deep Archive

    2. In Days after object creation (Giorni dopo la creazione dell'oggetto) immettere il numero di giorni successivi alla creazione dopo i quali eseguire la transizione dell'oggetto.

    Per ulteriori informazioni sulle classi di storage, consulta Comprensione e gestione delle classi di storage Amazon S3. È possibile definire le transizioni per la versione degli oggetti corrente o per quella precedente, oppure per entrambe le versioni: corrente e precedente. La funzione Controllo delle versioni consente di gestire più versioni di un oggetto in un unico bucket. Per ulteriori informazioni sulla funzione Controllo delle versioni, consulta Utilizzo della console S3.

    Importante

    Quando si sceglie la classe di storage Recupero istantaneo S3 Glacier, Recupero flessibile S3 Glacier o Glacier Deep Archive, gli oggetti rimangono in Amazon S3. Non puoi accedervi direttamente tramite il servizio Amazon S3 Glacier separato. Per ulteriori informazioni, consulta Trasferimento degli oggetti utilizzando il ciclo di vita Amazon S3.

  10. Per eseguire la transizione delle versioni non correnti degli oggetti tra classi di storage, in Transizione delle versioni non correnti degli oggetti tra classi di storage procedere come segue:

    1. In Transizione a una classe di storage scegli la classe di storage in cui eseguire la transizione. Per un elenco delle possibili transizioni, consulta Transizioni del ciclo di vita supportate. È possibile scegliere tra le seguenti classi di storage:

      • S3 Standard-IA

      • S3 Intelligent-Tiering

      • S3 One Zone-IA

      • S3 Glacier Instant Retrieval

      • S3 Glacier Flexible Retrieval

      • S3 Glacier Deep Archive

    2. In Giorni dopo i quali l'oggetto diventa non corrente, immettere il numero di giorni successivi alla creazione dopo i quali eseguire la transizione dell'oggetto.

  11. Per definire la scadenza delle versioni correnti degli oggetti, in Expire current versions of objects (Scadenza versioni attuali degli oggetti) immettere un numero di giorni in Number of days after object creation (Numero di giorni dopo la creazione dell'oggetto).

    Importante

    In un bucket senza versione l'operazione di scadenza comporta la rimozione permanente dell'oggetto da parte di Amazon S3. Per ulteriori informazioni sulle operazioni del ciclo di vita, consulta Elementi per la descrizione delle operazioni nel ciclo di vita.

  12. Per eliminare in modo definitivo le versioni precedenti degli oggetti, in Permanently delete noncurrent versions of objects (Elimina in modo definitivo le versioni non aggiornate degli oggetti), specifica il numero di giorni nel campo Days after objects become noncurrent (Numero di giorni dopo i quali gli oggetti non sono più aggiornati). Facoltativamente puoi specificare il numero di versioni più recenti da mantenere immettendo un valore nel campo Number of newer versions to retain (Numero di versioni più recenti da mantenere).

  13. In Delete expired delete markers or incomplete multipart uploads (Elimina contrassegni di eliminazione scaduti o caricamenti in più parti incompleti) scegliere Delete expired object delete markers (Elimina contrassegni di eliminazione oggetti scaduti) e Delete incomplete multipart uploads (Elimina caricamenti in più parti incompleti). Immettere quindi il numero di giorni dopo l'avvio dei caricamenti in più parti dopo i quali si desidera terminare e pulire i caricamenti in più parti incompleti.

    Per ulteriori informazioni sui caricamenti in più parti, consultare Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3.

  14. Scegli Crea regola.

    Se la regola non contiene errori, Amazon S3 la abilita ed è possibile visualizzarla nella scheda Management (Gestione) in Lifecycle rules (Regole ciclo di vita).

È possibile definire regole del ciclo di vita per tutti gli oggetti o un sottoinsieme di oggetti in un bucket utilizzando un prefisso condiviso (nomi di oggetti che iniziano con una stringa comune) o un tag. In una regola del ciclo di vita è possibile definire operazioni specifiche per versioni di oggetti correnti e non correnti. Per ulteriori informazioni, consulta gli argomenti seguenti:

Per creare una regola del ciclo di vita
  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel riquadro di navigazione sinistro, scegli Bucket per uso generico.

  3. Nell'elenco dei bucket, scegli il nome del bucket per cui desideri creare una regola del ciclo di vita.

  4. Scegliere la scheda Management (Gestione), quindi Create lifecycle rule (Crea regola ciclo di vita).

  5. In Lifecycle rule name (Nome regola ciclo di vita) immettere un nome per la regola.

    Il nome deve essere univoco all'interno del bucket.

  6. Scegliere l'ambito della regola del ciclo di vita:

    • Per applicare questa regola del ciclo di vita a tutti gli oggetti con un prefisso o un tag specifico, scegliere Limita l'ambito a prefissi o tag specifici.

      • Per limitare l'ambito in base al prefisso, in Prefix (Prefisso) immettere il prefisso.

      • Per limitare l'ambito in base al tag, scegliere Add tag (Aggiungi tag) e immettere la chiave e il valore del tag.

      Per ulteriori informazioni sui prefissi dei nomi oggetto, consulta Denominazione di oggetti Amazon S3. Per ulteriori informazioni sui tag degli oggetti, consulta Suddivisione in categorie dello storage utilizzando i tag.

    • Per applicare questa regola del ciclo di vita a tutti gli oggetti nel bucket, scegli Questa regola si applica a tutti gli oggetti nel bucket e quindi Confermo che questa regola si applica a tutti gli oggetti nel bucket.

  7. Per filtrare una regola in base alle dimensioni dell'oggetto, è possibile selezionare Specifica la dimensione minima dell'oggetto, Specifica la dimensione massima dell'oggetto o entrambe le opzioni.

    • Quando si specifica un valore per Dimensione minima dell'oggetto o Dimensione massima dell'oggetto, il valore deve essere superiore a 0 byte e può arrivare fino a 5 TB. È possibile specificare questo valore in byte, KB, MB o GB.

    • Quando si specificano entrambi i valori, la dimensione massima dell'oggetto deve essere superiore alla dimensione minima dell'oggetto.

      Nota

      I filtri Dimensione minima dell'oggetto e Dimensione massima dell'oggetto escludono i valori specificati. Ad esempio, se si imposta un filtro per far scadere gli oggetti con una Dimensione minima dell'oggetto di 128 KB, gli oggetti la cui dimensione è esattamente 128 KB non scadono. La regola si applica invece solo agli oggetti con dimensioni superiori a 128 KB.

  8. In Lifecycle rule actions (Operazioni regola ciclo di vita) scegliere le operazioni da far eseguire alla regola del ciclo di vita:

    • Transizione delle versioni correnti degli oggetti tra classi di storage

    • Transizione delle versioni precedenti degli oggetti tra classi di storage

    • Definizione della scadenza delle versioni correnti degli oggetti

      Nota

      Per i bucket che non hanno il controllo delle versioni S3 abilitato, la scadenza delle versioni correnti fa sì che Amazon S3 elimini definitivamente gli oggetti. Per ulteriori informazioni, consulta Operazioni del ciclo di vita e stato della funzione Controllo delle versioni nel bucket.

    • Eliminazione permanente delle versioni precedenti degli oggetti

    • Eliminazione dei contrassegni di eliminazione o di caricamenti in più parti incompleti

    A seconda delle operazioni scelte, vengono visualizzate opzioni diverse.

  9. Per eseguire la transizione delle versioni correnti degli oggetti tra classi di storage, in Transizione delle versioni correnti degli oggetti tra classi di storage procedere come segue:

    1. In Transizione a una classe di storage scegli la classe di storage in cui eseguire la transizione. Per un elenco delle possibili transizioni, consulta Transizioni del ciclo di vita supportate. È possibile scegliere tra le seguenti classi di storage:

      • S3 Standard-IA

      • S3 Intelligent-Tiering

      • S3 One Zone-IA

      • S3 Glacier Instant Retrieval

      • S3 Glacier Flexible Retrieval

      • S3 Glacier Deep Archive

    2. In Days after object creation (Giorni dopo la creazione dell'oggetto) immettere il numero di giorni successivi alla creazione dopo i quali eseguire la transizione dell'oggetto.

    Per ulteriori informazioni sulle classi di storage, consulta Comprensione e gestione delle classi di storage Amazon S3. È possibile definire le transizioni per la versione degli oggetti corrente o per quella precedente, oppure per entrambe le versioni: corrente e precedente. La funzione Controllo delle versioni consente di gestire più versioni di un oggetto in un unico bucket. Per ulteriori informazioni sulla funzione Controllo delle versioni, consulta Utilizzo della console S3.

    Importante

    Quando si sceglie la classe di storage Recupero istantaneo S3 Glacier, Recupero flessibile S3 Glacier o Glacier Deep Archive, gli oggetti rimangono in Amazon S3. Non puoi accedervi direttamente tramite il servizio Amazon S3 Glacier separato. Per ulteriori informazioni, consulta Trasferimento degli oggetti utilizzando il ciclo di vita Amazon S3.

  10. Per eseguire la transizione delle versioni non correnti degli oggetti tra classi di storage, in Transizione delle versioni non correnti degli oggetti tra classi di storage procedere come segue:

    1. In Transizione a una classe di storage scegli la classe di storage in cui eseguire la transizione. Per un elenco delle possibili transizioni, consulta Transizioni del ciclo di vita supportate. È possibile scegliere tra le seguenti classi di storage:

      • S3 Standard-IA

      • S3 Intelligent-Tiering

      • S3 One Zone-IA

      • S3 Glacier Instant Retrieval

      • S3 Glacier Flexible Retrieval

      • S3 Glacier Deep Archive

    2. In Giorni dopo i quali l'oggetto diventa non corrente, immettere il numero di giorni successivi alla creazione dopo i quali eseguire la transizione dell'oggetto.

  11. Per definire la scadenza delle versioni correnti degli oggetti, in Expire current versions of objects (Scadenza versioni attuali degli oggetti) immettere un numero di giorni in Number of days after object creation (Numero di giorni dopo la creazione dell'oggetto).

    Importante

    In un bucket senza versione l'operazione di scadenza comporta la rimozione permanente dell'oggetto da parte di Amazon S3. Per ulteriori informazioni sulle operazioni del ciclo di vita, consulta Elementi per la descrizione delle operazioni nel ciclo di vita.

  12. Per eliminare in modo definitivo le versioni precedenti degli oggetti, in Permanently delete noncurrent versions of objects (Elimina in modo definitivo le versioni non aggiornate degli oggetti), specifica il numero di giorni nel campo Days after objects become noncurrent (Numero di giorni dopo i quali gli oggetti non sono più aggiornati). Facoltativamente puoi specificare il numero di versioni più recenti da mantenere immettendo un valore nel campo Number of newer versions to retain (Numero di versioni più recenti da mantenere).

  13. In Delete expired delete markers or incomplete multipart uploads (Elimina contrassegni di eliminazione scaduti o caricamenti in più parti incompleti) scegliere Delete expired object delete markers (Elimina contrassegni di eliminazione oggetti scaduti) e Delete incomplete multipart uploads (Elimina caricamenti in più parti incompleti). Immettere quindi il numero di giorni dopo l'avvio dei caricamenti in più parti dopo i quali si desidera terminare e pulire i caricamenti in più parti incompleti.

    Per ulteriori informazioni sui caricamenti in più parti, consultare Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3.

  14. Scegli Crea regola.

    Se la regola non contiene errori, Amazon S3 la abilita ed è possibile visualizzarla nella scheda Management (Gestione) in Lifecycle rules (Regole ciclo di vita).

È possibile utilizzare i seguenti AWS CLI comandi per gestire le configurazioni del ciclo di vita di S3:

  • put-bucket-lifecycle-configuration

  • get-bucket-lifecycle-configuration

  • delete-bucket-lifecycle

Per istruzioni sulla configurazione AWS CLI, consulta Developing with Amazon S3 using the AWS CLI nel Amazon S3 API Reference.

La configurazione del ciclo di vita di Amazon S3 è un file XML. Tuttavia, quando utilizzi il AWS CLI, non puoi specificare il formato XML. È necessario invece specificare il formato JSON. Di seguito sono riportati esempi di configurazioni del ciclo di vita XML e le configurazioni JSON equivalenti che è possibile specificare in un comando. AWS CLI

Prendiamo in considerazione la configurazione del ciclo di vita S3 di esempio riportata di seguito:

Esempio 1
XML
<LifecycleConfiguration> <Rule> <ID>ExampleRule</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>GLACIER</StorageClass> </Transition> <Expiration> <Days>3650</Days> </Expiration> </Rule> </LifecycleConfiguration>
JSON
{ "Rules": [ { "Filter": { "Prefix": "documents/" }, "Status": "Enabled", "Transitions": [ { "Days": 365, "StorageClass": "GLACIER" } ], "Expiration": { "Days": 3650 }, "ID": "ExampleRule" } ] }
Esempio 2
XML
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Rule> <ID>id-1</ID> <Expiration> <Days>1</Days> </Expiration> <Filter> <And> <Prefix>myprefix</Prefix> <Tag> <Key>mytagkey1</Key> <Value>mytagvalue1</Value> </Tag> <Tag> <Key>mytagkey2</Key> <Value>mytagvalue2</Value> </Tag> </And> </Filter> <Status>Enabled</Status> </Rule> </LifecycleConfiguration>
JSON
{ "Rules": [ { "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [ { "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ] } }, "Status": "Enabled", "Expiration": { "Days": 1 } } ] }

È possibile testare il codice put-bucket-lifecycle-configuration nel modo seguente:

Per testare la configurazione
  1. Salvare la configurazione del ciclo di vita JSON in un file (ad esempio, lifecycle.json).

  2. Esegui il AWS CLI comando seguente per impostare la configurazione del ciclo di vita sul tuo bucket. Sostituire user input placeholders con le proprie informazioni.

    $ aws s3api put-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket  \ --lifecycle-configuration file://lifecycle.json
  3. Per verificare, recupera la configurazione del ciclo di vita di S3 utilizzando il comando seguente: get-bucket-lifecycle-configuration AWS CLI

    $ aws s3api get-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket
  4. Per eliminare la configurazione di S3 Lifecycle, usa il comando come segue: delete-bucket-lifecycle AWS CLI

    aws s3api delete-bucket-lifecycle \ --bucket amzn-s3-demo-bucket

È possibile utilizzare i seguenti AWS CLI comandi per gestire le configurazioni del ciclo di vita di S3:

  • put-bucket-lifecycle-configuration

  • get-bucket-lifecycle-configuration

  • delete-bucket-lifecycle

Per istruzioni sulla configurazione AWS CLI, consulta Developing with Amazon S3 using the AWS CLI nel Amazon S3 API Reference.

La configurazione del ciclo di vita di Amazon S3 è un file XML. Tuttavia, quando utilizzi il AWS CLI, non puoi specificare il formato XML. È necessario invece specificare il formato JSON. Di seguito sono riportati esempi di configurazioni del ciclo di vita XML e le configurazioni JSON equivalenti che è possibile specificare in un comando. AWS CLI

Prendiamo in considerazione la configurazione del ciclo di vita S3 di esempio riportata di seguito:

Esempio 1
XML
<LifecycleConfiguration> <Rule> <ID>ExampleRule</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>GLACIER</StorageClass> </Transition> <Expiration> <Days>3650</Days> </Expiration> </Rule> </LifecycleConfiguration>
JSON
{ "Rules": [ { "Filter": { "Prefix": "documents/" }, "Status": "Enabled", "Transitions": [ { "Days": 365, "StorageClass": "GLACIER" } ], "Expiration": { "Days": 3650 }, "ID": "ExampleRule" } ] }
Esempio 2
XML
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Rule> <ID>id-1</ID> <Expiration> <Days>1</Days> </Expiration> <Filter> <And> <Prefix>myprefix</Prefix> <Tag> <Key>mytagkey1</Key> <Value>mytagvalue1</Value> </Tag> <Tag> <Key>mytagkey2</Key> <Value>mytagvalue2</Value> </Tag> </And> </Filter> <Status>Enabled</Status> </Rule> </LifecycleConfiguration>
JSON
{ "Rules": [ { "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [ { "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ] } }, "Status": "Enabled", "Expiration": { "Days": 1 } } ] }

È possibile testare il codice put-bucket-lifecycle-configuration nel modo seguente:

Per testare la configurazione
  1. Salvare la configurazione del ciclo di vita JSON in un file (ad esempio, lifecycle.json).

  2. Esegui il AWS CLI comando seguente per impostare la configurazione del ciclo di vita sul tuo bucket. Sostituire user input placeholders con le proprie informazioni.

    $ aws s3api put-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket  \ --lifecycle-configuration file://lifecycle.json
  3. Per verificare, recupera la configurazione del ciclo di vita di S3 utilizzando il comando seguente: get-bucket-lifecycle-configuration AWS CLI

    $ aws s3api get-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket
  4. Per eliminare la configurazione di S3 Lifecycle, usa il comando come segue: delete-bucket-lifecycle AWS CLI

    aws s3api delete-bucket-lifecycle \ --bucket amzn-s3-demo-bucket
Java

Puoi utilizzare il AWS SDK per Java per gestire la configurazione del ciclo di vita S3 di un bucket. Per ulteriori informazioni sulla gestione della configurazione del ciclo di vita S3, consulta Gestione del ciclo di vita degli oggetti.

Nota

Quando si aggiunge una configurazione del ciclo di vita S3 a un bucket, Amazon S3 sostituisce l'attuale configurazione del ciclo di vita del bucket, se presente. Per aggiornare una configurazione, la si recupera, si apportano le modifiche desiderate e successivamente si aggiunge la configurazione aggiornata al bucket.

L'esempio seguente mostra come utilizzare per aggiungere, aggiornare ed AWS SDK per Java eliminare la configurazione del ciclo di vita di un bucket. Inoltre, vengono effettuate le seguenti operazioni:

  • Aggiunge una configurazione del ciclo di vita a un bucket

  • Recupera la configurazione del ciclo di vita e la aggiorna aggiungendo un'altra regola.

  • Aggiunge la configurazione del ciclo di vita modificata al bucket. Amazon S3 sostituisce la configurazione esistente.

  • Recupera nuovamente la configurazione e verifica che contenga il numero corretto di regole stampando il numero di regole.

  • Elimina la configurazione del ciclo di vita e verifica che sia stata eliminata cercando di recuperarla nuovamente.

Per istruzioni su come creare e testare un campione funzionante, consulta Nozioni di base nella Guida per gli sviluppatori di AWS SDK per Java .

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketLifecycleConfiguration; import com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Transition; import com.amazonaws.services.s3.model.StorageClass; import com.amazonaws.services.s3.model.Tag; import com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator; import com.amazonaws.services.s3.model.lifecycle.LifecycleFilter; import com.amazonaws.services.s3.model.lifecycle.LifecyclePrefixPredicate; import com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate; import java.io.IOException; import java.util.Arrays; public class LifecycleConfiguration { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; // Create a rule to archive objects with the "glacierobjects/" prefix to Glacier // immediately. BucketLifecycleConfiguration.Rule rule1 = new BucketLifecycleConfiguration.Rule() .withId("Archive immediately rule") .withFilter(new LifecycleFilter(new LifecyclePrefixPredicate("glacierobjects/"))) .addTransition(new Transition().withDays(0).withStorageClass(StorageClass.Glacier)) .withStatus(BucketLifecycleConfiguration.ENABLED); // Create a rule to transition objects to the Standard-Infrequent Access storage // class // after 30 days, then to Glacier after 365 days. Amazon S3 will delete the // objects after 3650 days. // The rule applies to all objects with the tag "archive" set to "true". BucketLifecycleConfiguration.Rule rule2 = new BucketLifecycleConfiguration.Rule() .withId("Archive and then delete rule") .withFilter(new LifecycleFilter(new LifecycleTagPredicate(new Tag("archive", "true")))) .addTransition(new Transition().withDays(30) .withStorageClass(StorageClass.StandardInfrequentAccess)) .addTransition(new Transition().withDays(365).withStorageClass(StorageClass.Glacier)) .withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED); // Add the rules to a new BucketLifecycleConfiguration. BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration() .withRules(Arrays.asList(rule1, rule2)); try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Save the configuration. s3Client.setBucketLifecycleConfiguration(bucketName, configuration); // Retrieve the configuration. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); // Add a new rule with both a prefix predicate and a tag predicate. configuration.getRules().add(new BucketLifecycleConfiguration.Rule().withId("NewRule") .withFilter(new LifecycleFilter(new LifecycleAndOperator( Arrays.asList(new LifecyclePrefixPredicate("YearlyDocuments/"), new LifecycleTagPredicate(new Tag( "expire_after", "ten_years")))))) .withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED)); // Save the configuration. s3Client.setBucketLifecycleConfiguration(bucketName, configuration); // Retrieve the configuration. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); // Verify that the configuration now has three rules. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); System.out.println("Expected # of rules = 3; found: " + configuration.getRules().size()); // Delete the configuration. s3Client.deleteBucketLifecycleConfiguration(bucketName); // Verify that the configuration has been deleted by attempting to retrieve it. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); String s = (configuration == null) ? "No configuration found." : "Configuration found."; System.out.println(s); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Puoi utilizzare la AWS SDK per .NET per gestire la configurazione del ciclo di vita S3 su un bucket. Per ulteriori informazioni sulla gestione della configurazione del ciclo di vita, consulta Gestione del ciclo di vita degli oggetti.

Nota

Quando aggiungi una configurazione del ciclo di vita, Amazon S3 sostituisce la configurazione esistente in un bucket specifico. Per aggiornare una configurazione del ciclo di vita esistente, è necessario prima di tutto recuperare la configurazione del ciclo di vita, apportare le modifiche e successivamente aggiungerla nel bucket.

L'esempio seguente mostra come utilizzare la configurazione del ciclo AWS SDK per .NET di vita di un bucket per aggiungere, aggiornare ed eliminare. L'esempio di codice esegue quanto segue:

  • Aggiunge una configurazione del ciclo di vita a un bucket

  • Recupera la configurazione del ciclo di vita e la aggiorna aggiungendo un'altra regola.

  • Aggiunge la configurazione del ciclo di vita modificata al bucket. Amazon S3 sostituisce la configurazione del ciclo di vita esistente.

  • Recupera nuovamente la configurazione e la verifica stampando il numero di regole nella configurazione.

  • Elimina la configurazione del ciclo di vita e verifica l'eliminazione.

Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta Nozioni di base su AWS SDK per .NET nella Guida per gli sviluppatori di AWS SDK per .NET .

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class LifecycleTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); AddUpdateDeleteLifecycleConfigAsync().Wait(); } private static async Task AddUpdateDeleteLifecycleConfigAsync() { try { var lifeCycleConfiguration = new LifecycleConfiguration() { Rules = new List<LifecycleRule> { new LifecycleRule { Id = "Archive immediately rule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "glacierobjects/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 0, StorageClass = S3StorageClass.Glacier } }, }, new LifecycleRule { Id = "Archive and then delete rule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "projectdocs/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 30, StorageClass = S3StorageClass.StandardInfrequentAccess }, new LifecycleTransition { Days = 365, StorageClass = S3StorageClass.Glacier } }, Expiration = new LifecycleRuleExpiration() { Days = 3650 } } } }; // Add the configuration to the bucket. await AddExampleLifecycleConfigAsync(client, lifeCycleConfiguration); // Retrieve an existing configuration. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); // Add a new rule. lifeCycleConfiguration.Rules.Add(new LifecycleRule { Id = "NewRule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "YearlyDocuments/" } }, Expiration = new LifecycleRuleExpiration() { Days = 3650 } }); // Add the configuration to the bucket. await AddExampleLifecycleConfigAsync(client, lifeCycleConfiguration); // Verify that there are now three rules. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); Console.WriteLine("Expected # of rulest=3; found:{0}", lifeCycleConfiguration.Rules.Count); // Delete the configuration. await RemoveLifecycleConfigAsync(client); // Retrieve a nonexistent configuration. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered ***. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } static async Task AddExampleLifecycleConfigAsync(IAmazonS3 client, LifecycleConfiguration configuration) { PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest { BucketName = bucketName, Configuration = configuration }; var response = await client.PutLifecycleConfigurationAsync(request); } static async Task<LifecycleConfiguration> RetrieveLifecycleConfigAsync(IAmazonS3 client) { GetLifecycleConfigurationRequest request = new GetLifecycleConfigurationRequest { BucketName = bucketName }; var response = await client.GetLifecycleConfigurationAsync(request); var configuration = response.Configuration; return configuration; } static async Task RemoveLifecycleConfigAsync(IAmazonS3 client) { DeleteLifecycleConfigurationRequest request = new DeleteLifecycleConfigurationRequest { BucketName = bucketName }; await client.DeleteLifecycleConfigurationAsync(request); } } }
Ruby

Puoi utilizzare la AWS SDK per Ruby per gestire una configurazione del ciclo di vita S3 su un bucket utilizzando la classe AWS::S3::BucketLifecycleConfiguration. Per ulteriori informazioni sulla gestione della configurazione del ciclo di vita di S3, consulta. Gestione del ciclo di vita degli oggetti

Java

Puoi utilizzare il AWS SDK per Java per gestire la configurazione del ciclo di vita S3 di un bucket. Per ulteriori informazioni sulla gestione della configurazione del ciclo di vita S3, consulta Gestione del ciclo di vita degli oggetti.

Nota

Quando si aggiunge una configurazione del ciclo di vita S3 a un bucket, Amazon S3 sostituisce l'attuale configurazione del ciclo di vita del bucket, se presente. Per aggiornare una configurazione, la si recupera, si apportano le modifiche desiderate e successivamente si aggiunge la configurazione aggiornata al bucket.

L'esempio seguente mostra come utilizzare per aggiungere, aggiornare ed AWS SDK per Java eliminare la configurazione del ciclo di vita di un bucket. Inoltre, vengono effettuate le seguenti operazioni:

  • Aggiunge una configurazione del ciclo di vita a un bucket

  • Recupera la configurazione del ciclo di vita e la aggiorna aggiungendo un'altra regola.

  • Aggiunge la configurazione del ciclo di vita modificata al bucket. Amazon S3 sostituisce la configurazione esistente.

  • Recupera nuovamente la configurazione e verifica che contenga il numero corretto di regole stampando il numero di regole.

  • Elimina la configurazione del ciclo di vita e verifica che sia stata eliminata cercando di recuperarla nuovamente.

Per istruzioni su come creare e testare un campione funzionante, consulta Nozioni di base nella Guida per gli sviluppatori di AWS SDK per Java .

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketLifecycleConfiguration; import com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Transition; import com.amazonaws.services.s3.model.StorageClass; import com.amazonaws.services.s3.model.Tag; import com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator; import com.amazonaws.services.s3.model.lifecycle.LifecycleFilter; import com.amazonaws.services.s3.model.lifecycle.LifecyclePrefixPredicate; import com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate; import java.io.IOException; import java.util.Arrays; public class LifecycleConfiguration { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; // Create a rule to archive objects with the "glacierobjects/" prefix to Glacier // immediately. BucketLifecycleConfiguration.Rule rule1 = new BucketLifecycleConfiguration.Rule() .withId("Archive immediately rule") .withFilter(new LifecycleFilter(new LifecyclePrefixPredicate("glacierobjects/"))) .addTransition(new Transition().withDays(0).withStorageClass(StorageClass.Glacier)) .withStatus(BucketLifecycleConfiguration.ENABLED); // Create a rule to transition objects to the Standard-Infrequent Access storage // class // after 30 days, then to Glacier after 365 days. Amazon S3 will delete the // objects after 3650 days. // The rule applies to all objects with the tag "archive" set to "true". BucketLifecycleConfiguration.Rule rule2 = new BucketLifecycleConfiguration.Rule() .withId("Archive and then delete rule") .withFilter(new LifecycleFilter(new LifecycleTagPredicate(new Tag("archive", "true")))) .addTransition(new Transition().withDays(30) .withStorageClass(StorageClass.StandardInfrequentAccess)) .addTransition(new Transition().withDays(365).withStorageClass(StorageClass.Glacier)) .withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED); // Add the rules to a new BucketLifecycleConfiguration. BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration() .withRules(Arrays.asList(rule1, rule2)); try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Save the configuration. s3Client.setBucketLifecycleConfiguration(bucketName, configuration); // Retrieve the configuration. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); // Add a new rule with both a prefix predicate and a tag predicate. configuration.getRules().add(new BucketLifecycleConfiguration.Rule().withId("NewRule") .withFilter(new LifecycleFilter(new LifecycleAndOperator( Arrays.asList(new LifecyclePrefixPredicate("YearlyDocuments/"), new LifecycleTagPredicate(new Tag( "expire_after", "ten_years")))))) .withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED)); // Save the configuration. s3Client.setBucketLifecycleConfiguration(bucketName, configuration); // Retrieve the configuration. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); // Verify that the configuration now has three rules. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); System.out.println("Expected # of rules = 3; found: " + configuration.getRules().size()); // Delete the configuration. s3Client.deleteBucketLifecycleConfiguration(bucketName); // Verify that the configuration has been deleted by attempting to retrieve it. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); String s = (configuration == null) ? "No configuration found." : "Configuration found."; System.out.println(s); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Puoi utilizzare la AWS SDK per .NET per gestire la configurazione del ciclo di vita S3 su un bucket. Per ulteriori informazioni sulla gestione della configurazione del ciclo di vita, consulta Gestione del ciclo di vita degli oggetti.

Nota

Quando aggiungi una configurazione del ciclo di vita, Amazon S3 sostituisce la configurazione esistente in un bucket specifico. Per aggiornare una configurazione del ciclo di vita esistente, è necessario prima di tutto recuperare la configurazione del ciclo di vita, apportare le modifiche e successivamente aggiungerla nel bucket.

L'esempio seguente mostra come utilizzare la configurazione del ciclo AWS SDK per .NET di vita di un bucket per aggiungere, aggiornare ed eliminare. L'esempio di codice esegue quanto segue:

  • Aggiunge una configurazione del ciclo di vita a un bucket

  • Recupera la configurazione del ciclo di vita e la aggiorna aggiungendo un'altra regola.

  • Aggiunge la configurazione del ciclo di vita modificata al bucket. Amazon S3 sostituisce la configurazione del ciclo di vita esistente.

  • Recupera nuovamente la configurazione e la verifica stampando il numero di regole nella configurazione.

  • Elimina la configurazione del ciclo di vita e verifica l'eliminazione.

Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta Nozioni di base su AWS SDK per .NET nella Guida per gli sviluppatori di AWS SDK per .NET .

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class LifecycleTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); AddUpdateDeleteLifecycleConfigAsync().Wait(); } private static async Task AddUpdateDeleteLifecycleConfigAsync() { try { var lifeCycleConfiguration = new LifecycleConfiguration() { Rules = new List<LifecycleRule> { new LifecycleRule { Id = "Archive immediately rule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "glacierobjects/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 0, StorageClass = S3StorageClass.Glacier } }, }, new LifecycleRule { Id = "Archive and then delete rule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "projectdocs/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 30, StorageClass = S3StorageClass.StandardInfrequentAccess }, new LifecycleTransition { Days = 365, StorageClass = S3StorageClass.Glacier } }, Expiration = new LifecycleRuleExpiration() { Days = 3650 } } } }; // Add the configuration to the bucket. await AddExampleLifecycleConfigAsync(client, lifeCycleConfiguration); // Retrieve an existing configuration. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); // Add a new rule. lifeCycleConfiguration.Rules.Add(new LifecycleRule { Id = "NewRule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "YearlyDocuments/" } }, Expiration = new LifecycleRuleExpiration() { Days = 3650 } }); // Add the configuration to the bucket. await AddExampleLifecycleConfigAsync(client, lifeCycleConfiguration); // Verify that there are now three rules. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); Console.WriteLine("Expected # of rulest=3; found:{0}", lifeCycleConfiguration.Rules.Count); // Delete the configuration. await RemoveLifecycleConfigAsync(client); // Retrieve a nonexistent configuration. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered ***. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } static async Task AddExampleLifecycleConfigAsync(IAmazonS3 client, LifecycleConfiguration configuration) { PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest { BucketName = bucketName, Configuration = configuration }; var response = await client.PutLifecycleConfigurationAsync(request); } static async Task<LifecycleConfiguration> RetrieveLifecycleConfigAsync(IAmazonS3 client) { GetLifecycleConfigurationRequest request = new GetLifecycleConfigurationRequest { BucketName = bucketName }; var response = await client.GetLifecycleConfigurationAsync(request); var configuration = response.Configuration; return configuration; } static async Task RemoveLifecycleConfigAsync(IAmazonS3 client) { DeleteLifecycleConfigurationRequest request = new DeleteLifecycleConfigurationRequest { BucketName = bucketName }; await client.DeleteLifecycleConfigurationAsync(request); } } }
Ruby

Puoi utilizzare la AWS SDK per Ruby per gestire una configurazione del ciclo di vita S3 su un bucket utilizzando la classe AWS::S3::BucketLifecycleConfiguration. Per ulteriori informazioni sulla gestione della configurazione del ciclo di vita di S3, consulta. Gestione del ciclo di vita degli oggetti

Gli argomenti seguenti della Documentazione d riferimento delle API di Amazon Simple Storage Service descrivono le operazioni REST API correlate alla configurazione del ciclo di vita S3:

Gli argomenti seguenti della Documentazione d riferimento delle API di Amazon Simple Storage Service descrivono le operazioni REST API correlate alla configurazione del ciclo di vita S3:

Risoluzione dei problemi relativi al ciclo di vita di S3

Per i problemi comuni che potrebbero verificarsi durante l'utilizzo del ciclo di vita S3, consulta Risoluzione dei problemi del ciclo di vita di Amazon S3.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.