PITR Browser — Point-in-Time Restore
Cosmos tem continuous backup (7d ou 30d) mas restore só roda via az-cli ou portal. UI dedicada com timeline visual do horizonte, validator do restore plan, gerador do comando `az cosmosdb restore` com todos parâmetros + opção de executar via host shell. Pra DR drill, pra recovery de bug em prod, pra criar sandbox do WHAT-IF Lab.
Where it lives in the app: Tools → Cosmos DB → PITR — Point-in-Time Restore
What it does
- Timeline visual da janela continuous-backup (7d default ou 30d).
- Plan validator: timestamp dentro do horizonte, target account name único, region válida.
- Generator do comando `az cosmosdb restore` com source/target/restorePoint/region.
- Botão "Run via host shell" pra executar via IPC (precisa az-cli logado).
- Audit trail (v2 surface a lista das restores triggered pelo app).
Step-by-step
- 1
Abra o PITR Browser
Tools → Cosmos DB → PITR — Point-in-Time Restore. Atalho via submenu.
- 2
Selecione source account + tipo de backup
Coloca nome do Cosmos account de origem + tipo (continuous-7d / continuous-30d / periodic).
- 3
Escolha o restore timestamp
Formato ISO-8601 (ex: 2026-05-24T12:34:56Z). Tem que estar dentro do horizonte mostrado na timeline.
- 4
Defina target account name
Nome do novo Cosmos account onde o snapshot vai virar account live. Auto-suggest "<source>-restored-<timestamp>".
- 5
Validate plan
Botão "Validate plan" — checa: timestamp dentro do horizonte, não no futuro, account name único. Banner success/error.
- 6
Execute (CLI ou shell)
Modo recomendado: "Copy CLI" pra executar em shell privilegiado externo. Modo conveniente: "Run via host shell" usa Electron IPC se az-cli session ativa.
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
Acompanhe no portal
Restore demora 30 min a 24h dependendo do dataset. Portal mostra progress no resource group.
Real use cases
Bad migration em prod
Time fez migration `dropIndex` errada que apagou índice crítico. Rollback via PITR pra 2h antes — sem perda de dados pós-recovery (mergeados via Change Feed).
Compliance drill
SOC 2 audit pede demo de PITR. DBA roda restore pra account sandbox em 30 min via UI. Auditor satisfeito.