Skip to main content

Control de versiones

La tarjeta Versioning en la pestaña Settings del bucket muestra el estado actual y ofrece Enable y Suspend.
Un bucket se encuentra en uno de tres estados:
never configured
El bucket no tiene historial de versiones. En la API S3 esto se reporta omitiendo el elemento de estado por completo, que es cómo S3 mismo lo reporta.
every write creates a version
Deletes escribe un marcador de eliminación en lugar de eliminar bytes. GET /v1/buckets/{bucket}/object-versions lista versiones y borra marcadores juntos.
was on, now off
Se conservan las versiones existentes; las nuevas escrituras dejan de crearlas. Esto es distinto de disabled, y la distinción es importante: suspender no borra el historial.
La API de almacenamiento utiliza el vocabulario de minúsculas de la plataforma; el punto final de S3 escribe los mismos estados Enabled y Suspended Cualquiera de las dos ortografías es aceptada en la entrada.
Las versiones que ya no necesita no son gratuitas, cuentan contra sus bytes almacenados. Empareja el control de versiones con una regla de ciclo de vida noncurrent_version_expiration, o un bucket suspendido mantiene silenciosamente todas las versiones que ha hecho.

Bloqueo y retención de objetos

En un bucket creado con object_lock_enabled, los objetos individuales pueden llevar un modo de retención y una fecha de retención, establecida en la carga con X-Amz-Object-Lock-Mode y X-Amz-Object-Lock-Retain-Until-Date, o posteriormente a través del sub-recurso ?retention.

GOBERNANZA

La retención puede ser acortada o un objeto bloqueado eliminado, pero solo por un llamador que envía X-Amz-Bypass-Governance-Retention: true y mantiene storage:BypassGovernanceRetention en el objeto.

Cumplimiento

Nada lo evita. Una escritura de ?retention que mueva la fecha antes es rechazada, por lo que la retención solo puede ser extendida.
Una retención legal (?legal-hold) es independiente de la fecha de retención: mientras está activada, el objeto no puede eliminarse independientemente de cuándo caduque la retención. Una eliminación bloqueada por cualquiera de ellos se muestra como 403, no como un no-op silencioso. En la consola, ambos viven en el objeto mismo: su pestaña Properties tiene una tarjeta Retention (Modo, Retener hasta) y un interruptor Retención legal, y Guardar cambios los aplica juntos. Acortar una fecha de GOVERNANCE ofrece el bypass como un interruptor en lugar de hacer que envíe el encabezado. Sin embargo, la página de carga no tiene campos de bloqueo de objetos, por lo que la configuración de retención en la carga es solo API.