Vai al contenuto principale

Lifecycle Configuration

Intro

La Lifecycle Configuration serve a configurare il ciclo di vita degli oggetti in modo che siano conservati in modo economico. Attualmente, solo NoncurrentVersionExpiration è supportata nella gestione del Lifecycle Configuration.

Per impostare, recuperare ed eliminare la configurazione si possono utilizzare le seguenti API:

  • PutBucketLifecycleConfiguration: utilizzata per impostare la configurazione, che sovrascriverà quella esistente, se presente.
  • GetBucketLifecycleConfiguration: serve a recuperare la configurazione del ciclo di vita attualmente configurata.
  • DeleteBucketLifecycle: serve a cancellare la configurazione del ciclo di vita attualmente configurata.

La regola NoncurrentVersionExpiration

La regola NoncurrentVersionExpiration è usata per eliminare le versioni dell'oggetto che superano il numero di versioni da mantenere, come definito dal parametro NewerNoncurrentVersions, e che sono state noncurrent per più di NoncurrentDays.

Ad esempio, se un oggetto ha solo due versioni noncurrent e la regola configurata ha un NewerNoncurrentVersions di 2, queste due versioni non verranno eliminate. Tuttavia, se ci sono tre versioni noncurrent, la versione più vecchia verrà eliminata se è stata noncurrent per più di NoncurrentDays.

I NoncurrentDays di una versione (cioè il numero di giorni in cui una versione è stata noncurrent) vengono calcolati a partire dalla creazione della versione successiva e il numero di giorni in cui una versione è stata noncurrent viene arrotondato per difetto al numero intero più grande minore o uguale ai giorni effettivamente trascorsi.

Esempio

Crea un file contenente la seguente lifecycle configuration, chiamata lifecycle.json:

{
"Rules": [
{
"Status": "Enabled",
"NoncurrentVersionExpiration": {
"NewerNoncurrentVersions": 3,
"NoncurrentDays": 2
}
}
]
}

Nella stessa cartella, usa il seguente comando per impostare la configurazione del ciclo di vita del bucket:

aws s3api --endpoint https://s3.cubbit.eu put-bucket-lifecycle-configuration --lifecycle-configuration file://lifecycle.json --bucket my-cubbit-bucket

Se il comando ha successo, la lifecycle configuration è stata applicata correttamente. Per verificarla, è possibile chiamare il seguente comando:

aws s3api --endpoint https://s3.cubbit.eu get-bucket-lifecycle-configuration --bucket my-cubbit-bucket
nota

Verifica sempre di aver sostituito "my-cubbit-bucket" con un bucket esistente.

Funzioni non supportate

Al momento solo una regola per bucket è supportata. Ecco una lista di funzioni non supportate:

  • AbortIncompleteMultipartUpload
  • Expiration
  • Filter - anche se viene specificato sarà ignorato
  • ID
  • NoncurrentVersionTransition
  • Prefix
  • Transition