Rétention d'objet
Le objectstore DTZ prend en charge l’expiration/rétention au niveau des objets. Par défaut, un objet est conservé indéfiniment. Si une date d’expiration est définie, l’objet ne sera plus visible après cette date.
L’objet sera finalement nettoyé et disparaîtra du stockage utilisé. Les tâches de rétention doivent effectuer un nettoyage quotidien, mais fonctionnent de manière paresseuse.
Définir la rétention
La rétention peut être définie avec un en-tête supplémentaire lors du téléchargement de l’objet.
- En-tête HTTP : X-DTZ-EXPIRATION
- Valeur de l’en-tête : durées iso 8601
- https://fr.wikipedia.org/wiki/ISO_8601#Durations
- pour un jour : P1D
- pour une heure : PT1H
- pour un jour et une heure : P1DT1H
> POST /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
> Content-Type: application/octet-stream
> X-DTZ-EXPIRATION: P1D
Le timestamp 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 le timestamp exact (rfc3339).
> GET /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
<
<