Rétention des objets
The DTZ objectstore prend en charge l’expiration/la rétention au niveau des objets. Par défaut, un objet est conservé indéfiniment. Si une expiration est définie, l’objet ne sera plus visible après cette expiration.
L’objet sera éventuellement nettoyé et disparaîtra du stockage utilisé. Les tâches de rétention devraient effectuer le nettoyage quotidiennement, mais elles s’exécutent de manière paresseuse.
Définir la rétention
La rétention peut être définie via un en-tête supplémentaire lors du téléversement de l’objet.
- En-tête HTTP: X-DTZ-EXPIRATION
- Valeur de l’en-tête: durées iso 8601
- https://en.wikipedia.org/wiki/ISO_8601#Durations
- pour un jour: P1D
- pour une heure: PT1H
- pour un jour et une heure: P1T1H
> POST /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
> Content-Type: application/octet-stream
> X-DTZ-EXPIRATION: P1D
L’horodatage d’expiration est alors calculé lors de la création.
Obtenir la rétention
Si une rétention est définie pour un objet, l’en-tête d’expiration est toujours renvoyé avec l’horodatage exact (rfc3339).
> GET /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
<
<