Retención de objetos
El objectstore de DTZ admite expiración/retención a nivel de objeto. Por defecto, un objeto se conserva indefinidamente. Si se establece una expiración, el objeto dejará de ser visible tras la expiración.
El objeto eventualmente será limpiado y desaparecerá del almacenamiento usado. Los trabajos de retención deberían realizar la limpieza diariamente, pero se ejecutan de forma perezosa.
Establecer retención
La retención puede establecerse mediante una cabecera adicional al subir el objeto.
- Cabecera HTTP: X-DTZ-EXPIRATION
- Valor de cabecera: duraciones ISO 8601
- https://en.wikipedia.org/wiki/ISO_8601#Durations
- para un día: P1D
- para una hora: PT1H
- para un día y una hora: P1T1H
> POST /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
> Content-Type: application/octet-stream
> X-DTZ-EXPIRATION: P1D
La marca de tiempo de expiración se calcula en el momento de la creación.
Obtener retención
Si se ha establecido una retención para un objeto, la cabecera de expiración siempre se devuelve con la marca de tiempo exacta (RFC 3339).
> GET /api/2022-11-28/obj/object1
> Host: dtz-objectstore.dtz.rocks
<
<