Ritenzione degli oggetti
The DTZ objectstore supports object level expiration/retention. By default an object is kept forever. If an expiration is set, the object will no longer be visible after the expiration.
The object will evnetually be cleaned up and diappear from the used storage. Retention jobs should perform cleanup daily, but are running lazily.
Impostare la ritenzione
La ritenzione può essere impostata con un header aggiuntivo durante il caricamento dell’oggetto.
- Header HTTP: X-DTZ-EXPIRATION
- Valore dell’header: durate ISO 8601
- https://en.wikipedia.org/wiki/ISO_8601#Durations
- per un giorno: P1D
- per un’ora: PT1H
- per un giorno e un’ora: 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’intestazione di scadenza viene sempre restituita con il timestamp esatto (RFC3339).
> GET /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
<
<