Ritenzione oggetti
Il objectstore DTZ supporta la scadenza/ritenzione a livello di oggetto. Per impostazione predefinita un oggetto viene conservato per sempre. Se viene impostata una scadenza, l’oggetto non sarà più visibile dopo la scadenza.
L’oggetto verrà eventualmente rimosso e scomparirà dallo storage utilizzato. I job di ritenzione dovrebbero eseguire la pulizia quotidianamente, ma vengono eseguiti in modo pigro.
Impostare la ritenzione
La ritenzione può essere impostata con un header aggiuntivo durante il caricamento dell’oggetto.
- HTTP Header: X-DTZ-EXPIRATION
- Header Value: iso 8601 durations
- https://en.wikipedia.org/wiki/ISO_8601#Durations
- for one day: P1D
- for one hour: PT1H
- for one day and one hour: P1T1H
> POST /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
> Content-Type: application/octet-stream
> X-DTZ-EXPIRATION: P1D
Il timestamp di scadenza viene quindi calcolato alla creazione.
Ottenere la ritenzione
Se è impostata una ritenzione per un oggetto, l’header di scadenza viene sempre restituito con il timestamp esatto (rfc3339).
> GET /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
<
<