Publicación¶
Una tabla en la app mangroove_publicacion: los archivos que una corrida deja
en la CDN. La exploración de umbrales no tiene tabla, por D-07.
Requerimientos cubiertos¶
Artefacto¶
Un archivo publicado de una corrida: una capa, una descarga o una pieza del respaldo estático.
- Régimen: Resultado de corrida
- Volumen estimado: unas 80 filas por corrida de 31 fechas
- Origen:
Columnas¶
| Campo | Tipo | Nulo | Predeterminado | Descripción |
|---|---|---|---|---|
corrida_id |
uuid |
no | ||
corrida_fecha_id |
uuid |
sí | Fecha de la capa; nulo en capas y archivos de la corrida | |
tipo |
varchar(30) |
no | Ver la tabla de tipos de abajo | |
formato |
varchar(8) |
no | png / tif / csv / json / geojson |
|
media_id |
uuid |
no | Archivo en Bunny, visibilidad pública (ApiMedia del template) |
|
sha256 |
char(64) |
no | ||
bytes |
bigint |
no | ||
oeste, sur, este, norte |
float8 |
sí | Esquinas en lon/lat de las capas PNG; nulas en los demás formatos |
Tipos de artefacto¶
| Tipo | Por fecha | Formato | Contenido |
|---|---|---|---|
rgb |
sí | png |
R = HH, G = HV, B = HH − HV |
clases |
sí | png |
IV, OW, NI, NC; ND transparente |
if_alta |
no | png |
Rampa secuencial; trama sin datos suficientes |
if |
no | png |
Rampa secuencial |
desconexion |
no | png |
Desconectado, conectado y datos insuficientes con trama |
p_error |
no | png |
Rampa secuencial |
cambio |
no | png |
Delta de HV de los cambios significativos |
geotiff_<capa> |
según la capa | tif |
La capa con valores numéricos, en la proyección de la región |
resumen_csv |
no | csv |
Resumen por país y por fecha |
estanques |
no | geojson |
Estanques con su clase, su CV y su puntaje |
metadatos |
no | json |
Gránulos, insumos, perfil, código y licencias de la corrida |
manifiesto |
no | json |
El manifiesto del contrato, para el respaldo |
resumen |
no | json |
El resumen del contrato, para el respaldo |
Constraints¶
CONSTRAINT chk_artefacto_esquinas
CHECK (
(formato = 'png') = (oeste IS NOT NULL AND sur IS NOT NULL AND este IS NOT NULL AND norte IS NOT NULL)
)
CONSTRAINT chk_artefacto_por_fecha
CHECK ((tipo IN ('rgb', 'clases')) = (corrida_fecha_id IS NOT NULL))
Unicidad¶
| Nombre | Definición |
|---|---|
unq_artefacto_corrida_tipo_fecha |
(corrida_id, tipo, corrida_fecha_id) NULLS NOT DISTINCT |
Ruta en la CDN¶
Cada artefacto se sube a una ruta que incluye la región y la versión:
/<region>/<version>/<tipo>[/<fecha_id>].<formato>. Como ningún artefacto de
una versión cambia, la CDN los sirve con caché inmutable. El respaldo estático
es el mismo conjunto de archivos, más /<region>/vigente.json, el único
archivo que se sobrescribe, que apunta a la versión vigente.
La purga de una corrida retirada borra sus filas de Artefacto y los objetos
correspondientes en Bunny. Las filas de ApiMedia no se borran, por el régimen
protegido del template: quedan como huella de lo que se publicó, con su suma y
su tamaño, aunque el archivo ya no exista.