Impostazione della configurazione del ciclo di vita in un bucket
In questa sezione viene descritto come impostare la configurazione del ciclo di vita S3 in un bucket tramite gli SDK AWS, la AWS CLI o la console di Amazon S3. Per informazioni sulla configurazione del ciclo di vita S3, consulta Gestione del ciclo di vita dello storage.
Puoi utilizzare regole del ciclo di vita per definire le operazioni che desideri vengano eseguite da Amazon S3 durante il ciclo di vita di un oggetto, ad esempio la transizione di oggetti in un'altra classe di storage, la relativa archiviazione o l'eliminazione dopo un periodo di tempo specificato.
Prima di impostare una configurazione del ciclo di vita, tieni presente quanto segue:
Ritardo di propagazione
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.
Disattivazione 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.
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 S3 con un'operazione di scadenza in base a cui gli oggetti con un prefisso specifico scadono 30 giorni dalla data di creazione, Amazon S3 inserirà nella coda di eliminazione tutti gli oggetti esistenti creati da più di 30 giorni.
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. Per fare un altro esempio, non appena scade il tempo di transizione dell'oggetto, vengono addebitate le tariffe di archiviazione Amazon S3 Glacier Flexible Retrieval anche se l'oggetto non viene trasferito alla classe di archiviazione S3 Glacier Flexible Retrieval immediatamente. Le transizioni del ciclo di vita alla classe di storage S3 Intelligent-Tiering sono l'eccezione. Le modifiche nella fatturazione non si verificano fino a quando l'oggetto non è stato trasferito alla classe di archiviazione S3 Intelligent-Tiering.
Puoi definire regole del ciclo di vita per tutti gli oggetti o un sottoinsieme di oggetti nel bucket utilizzando un prefisso condiviso (nomi di oggetti che iniziano con una stringa comune) o un tag. Con una regola del ciclo di vita puoi definire operazioni specifiche per versioni di oggetti correnti e non. Per ulteriori informazioni, consulta gli argomenti seguenti:
Per creare una regola del ciclo di vita
-
Accedi alla AWS Management Console e apri la console di Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/
. -
Nell'elenco Buckets (Bucket) scegliere il nome del bucket per il quale si desidera creare una regola del ciclo di vita.
-
Scegliere la scheda Management (Gestione), quindi Create lifecycle rule (Crea regola ciclo di vita).
-
In Lifecycle rule name (Nome regola ciclo di vita) immettere un nome per la regola.
Il nome deve essere univoco all'interno del bucket.
-
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 Creazione di nomi di chiavi oggetto. 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, scegliere This rule applies to all objects in the bucket (Questa regola si applica a tutti gli oggetti nel bucket) e quindi I acknowledge that this rule applies to all objects in the bucket (Confermo che questa regola si applica a tutti gli oggetti nel bucket).
-
-
Per filtrare una regola in base alle dimensioni dell'oggetto, è possibile controllare Specifica la dimensione minima degli oggetti, Specifica la dimensione massima degli oggetti o entrambe le opzioni.
-
Quando si specifica una dimensione minima degli oggetti o una dimensione massima degli oggetti, 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 entrambe, la dimensione massima degli oggetti deve essere superiore alla dimensione minima degli oggetti.
-
-
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
-
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.
-
-
Per eseguire la transizione delle versioni correnti degli oggetti tra classi di storage, in Transition current versions of objects between storage classes (Transizione delle versioni correnti degli oggetti tra classi di storage):
-
In Storage class transitions (Transizioni in classi di storage) scegliere la classe di storage in cui eseguire la transizione:
-
Standard-IA
-
INTELLIGENT_TIERING
-
One Zone-IA
-
S3 Glacier Flexible Retrieval
-
Glacier Deep Archive
-
-
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 Utilizzo delle classi di storage di 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 scegli le classi di archiviazione S3 Glacier Flexible Retrieval 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.
-
-
Per eseguire la transizione di versioni non correnti degli oggetti tra classi di storage, in Transition non-current versions of objects between storage classes (Transizione di versioni non correnti degli oggetti tra classi di storage):
-
In Storage class transitions (Transizioni in classi di storage) scegliere la classe di storage in cui eseguire la transizione:
-
Standard-IA
-
INTELLIGENT_TIERING
-
One Zone-IA
-
S3 Glacier Flexible Retrieval
-
Glacier Deep Archive
-
-
In Days after object becomes non-current (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.
-
-
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 applicazione della 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.
-
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).
-
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 in più parti.
-
Scegli Create rule (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).
Per informazioni su template ed esempi di CloudFormation, consulta Utilizzo di template AWS CloudFormation e AWS::S3::Bucket nella Guida per l'utente di AWS CloudFormation.
Per gestire le configurazioni del ciclo di vita S3, puoi utilizzare i comandi della AWS CLI riportati di seguito:
-
put-bucket-lifecycle-configuration
-
get-bucket-lifecycle-configuration
-
delete-bucket-lifecycle
Per istruzioni sull'impostazione di AWS CLI, consulta Sviluppo con Amazon S3 tramite la AWS CLI.
La configurazione del ciclo di vita di Amazon S3 è un file XML. Ma quando si utilizza la AWS CLI, non è possibile specificare l'XML. È necessario specificare invece il JSON. Di seguito sono riportati esempi di configurazioni del ciclo di vita XML e l'equivalente JSON 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
Esempio 2
È possibile testare il codice put-bucket-lifecycle-configuration
nel modo seguente:
Per testare la configurazione
-
Salvare la configurazione del ciclo di vita JSON in un file (
lifecycle.json
). -
Eseguire il comando della AWS CLI riportato di seguito per impostare la configurazione del ciclo di vita nel bucket.
$
aws s3api put-bucket-lifecycle-configuration \ --bucketbucketname
\ --lifecycle-configuration file://lifecycle.json -
Per eseguire la verifica, recupera la configurazione del ciclo di vita S3 utilizzando il comando
get-bucket-lifecycle-configuration
AWS CLI nel modo seguente.$
aws s3api get-bucket-lifecycle-configuration \ --bucketbucketname
-
Per eliminare la configurazione del ciclo di vita S3, utilizza il comando
delete-bucket-lifecycle
AWS CLI nel modo seguente.aws s3api delete-bucket-lifecycle \ --bucket
bucketname
Le sezioni seguenti della Documentazione d riferimento delle API di Amazon Simple Storage Service descrivono la REST API correlata alla configurazione del ciclo di vita S3.