Configurazione di una policy del ciclo di vita del bucket per l'interruzione dei caricamenti in più parti incompleti - Amazon Simple Storage Service

Configurazione di una policy del ciclo di vita del bucket per l'interruzione dei caricamenti in più parti incompleti

Consigliamo, come best practice, di configurare una regola per il ciclo di vita (utilizzando l'operazione AbortIncompleteMultipartUpload) per ridurre al minimo i costi per lo storage. Per ulteriori informazioni sull'interruzione di un caricamento in più parti, consulta Interruzione di un caricamento in più parti.

Amazon S3 supporta una regola per il ciclo di vita del bucket che può essere utilizzata per indicare ad Amazon S3 di interrompere i caricamenti in più parti che non sono stati completati entro un determinato numero di giorni dopo l'avvio. Quando un caricamento in più parti non viene completato entro il periodo di tempo specificato, diventa idoneo per l'operazione di interruzione e Amazon S3 interrompe il caricamento ed elimina le parti a esso associate.

Di seguito è riportata una configurazione del ciclo di vita di esempio che specifica una regola con l'operazione AbortIncompleteMultipartUpload.

<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix></Prefix> <Status>Enabled</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>7</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration>

Nell'esempio, la regola non specifica un valore per l'elemento Prefix (prefisso nome chiave oggetto). Pertanto, si applica a tutti gli oggetti nel bucket per i quali sono stati avviati caricamenti in più parti. Tutti i caricamenti in più parti che sono stati avviati e non sono stati completati entro sette giorni diventano idonei per un'operazione di interruzione. L'azione di interruzione non ha alcun effetto sui caricamenti in più parti completati.

Per ulteriori informazioni sulla configurazione del ciclo di vita dei bucket, consulta Gestione del ciclo di vita dello storage.

Nota

Se il caricamento in più parti viene completato entro il numero di giorni specificato nella regola, l'operazione del ciclo di vita AbortIncompleteMultipartUpload non viene eseguita e Amazon S3 non intraprende alcuna operazione. Inoltre, questa operazione non si applica agli oggetti. Nessun oggetto viene eliminato da questa operazione del ciclo di vita.

Il seguente comando della CLI put-bucket-lifecycle-configuration consente di aggiungere la configurazione del ciclo di vita per il bucket specificato.

$ aws s3api put-bucket-lifecycle-configuration  \ --bucket bucketname  \ --lifecycle-configuration filename-containing-lifecycle-configuration

Per eseguire il test del comando della CLI, effettuare le operazioni riportate di seguito.

  1. Impostare AWS CLI. Per istruzioni, consultare Sviluppo con Amazon S3 tramite la AWS CLI.

  2. Salvare la configurazione del ciclo di vita di esempio riportata di seguito in un file (lifecycle.json). La configurazione di esempio specifica un prefisso vuoto e pertanto non si applica a tutti gli oggetti nel bucket. È possibile specificare un prefisso per limitare la policy a un sottoinsieme di oggetti.

    { "Rules": [ { "ID": "Test Rule", "Status": "Enabled", "Filter": { "Prefix": "" }, "AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 } } ] }
  3. Eseguire il comando della CLI riportato di seguito per impostare la configurazione del ciclo di vita sul bucket.

    aws s3api put-bucket-lifecycle-configuration   \ --bucket bucketname  \ --lifecycle-configuration file://lifecycle.json
  4. Per eseguire la verifica, recuperare la configurazione del ciclo di vita utilizzando il comando get-bucket-lifecycle della CLI.

    aws s3api get-bucket-lifecycle  \ --bucket bucketname
  5. Per eliminare la configurazione del ciclo di vita, utilizza il comando delete-bucket-lifecycle della CLI.

    aws s3api delete-bucket-lifecycle \ --bucket bucketname