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
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à ignoratoID
NoncurrentVersionTransition
Prefix
Transition