PITR Browser — Point-in-Time Restore
Cosmos tiene continuous backup (7d o 30d) pero el restore solo corre vía az-cli o portal. UI dedicada con timeline visual del horizonte, validator del restore plan, generador del comando `az cosmosdb restore` con todos los parámetros + opción de ejecutar vía host shell. Para DR drill, para recovery de bug en prod, para crear sandbox del WHAT-IF Lab.
Dónde vive en la app: Tools → Cosmos DB → PITR — Point-in-Time Restore
Qué hace
- Timeline visual de la ventana continuous-backup (7d default o 30d).
- Plan validator: timestamp dentro del horizonte, target account name único, region válida.
- Generator del comando `az cosmosdb restore` con source/target/restorePoint/region.
- Botón "Run via host shell" para ejecutar vía IPC (necesita az-cli logueado).
- Audit trail (v2 surface la lista de los restores triggered por el app).
Paso a paso
- 1
Abra el PITR Browser
Tools → Cosmos DB → PITR — Point-in-Time Restore. Atajo vía submenu.
- 2
Seleccione source account + tipo de backup
Ponga el nombre del Cosmos account de origen + tipo (continuous-7d / continuous-30d / periodic).
- 3
Elija el restore timestamp
Formato ISO-8601 (ej: 2026-05-24T12:34:56Z). Tiene que estar dentro del horizonte mostrado en la timeline.
- 4
Define el target account name
Nombre del nuevo Cosmos account donde el snapshot va a volverse account live. Auto-suggest "<source>-restored-<timestamp>".
- 5
Validate plan
Botón "Validate plan" — chequea: timestamp dentro del horizonte, no en el futuro, account name único. Banner success/error.
- 6
Execute (CLI o shell)
Modo recomendado: "Copy CLI" para ejecutar en shell privilegiado externo. Modo conveniente: "Run via host shell" usa Electron IPC si la sesión az-cli está activa.
az cosmosdb restore \ --target-database-account-name my-cosmos-restored-1234567 \ --account-name my-cosmos-account \ --resource-group my-rg \ --restore-timestamp 2026-05-24T12:34:56Z \ --location eastus
- 7
Acompañe en el portal
Restore tarda 30 min a 24h dependiendo del dataset. Portal muestra progress en el resource group.
Casos de uso reales
Bad migration en prod
Equipo hizo migration `dropIndex` errónea que borró índice crítico. Rollback vía PITR a 2h antes — sin pérdida de datos post-recovery (mergeados vía Change Feed).
Drill de compliance
SOC 2 audit pide demo de PITR. DBA corre restore a account sandbox en 30 min vía UI. Auditor satisfecho.