Visual Index Policy Editor
Cosmos indexa todos os paths por default. Cada write paga 1 RU por path indexado. DBA precisa editar JSON gigante com inclusion/exclusion paths e um typo quebra o deployment. O editor visual mostra schema sampleado em árvore, toggle por path, calcula impacto em RU/write live e gera o JSON paste-ready.
Where it lives in the app: Tools → Cosmos DB → Index Policy Editor
What it does
- Schema sampling de 100 docs pra descobrir paths automaticamente.
- Tree view de paths com toggle Include/Exclude por path.
- Cost estimation: "Default 47 RU/write → após mudanças 12 RU/write — 74% cheaper".
- JSON preview gerado automaticamente.
- Draft persistido por (connection, ns) — pode iterar sem perder.
Step-by-step
- 1
Sample schema
Coloca namespace (ex: `app.products`). Clica "Sample schema". Em ~3s mostra árvore de paths descobertos.
- 2
Toggle paths
Clica no botão Include / Excluded ao lado de cada path. Live update do "After your changes: N RU per write" no topo.
- 3
Save draft
Botão "Save draft" persiste localmente. JSON preview embaixo já pronto pra copy.
- 4
Aplique no Cosmos
Copia o JSON gerado, abre Azure portal → Containers → Settings → Indexing policy → cola → save. (Ou rode via az-cli `az cosmosdb sql container update`.)
- 5
(Opcional) Valide via WHAT-IF
Antes de aplicar em prod, rode WHAT-IF com `add-index` ou `drop-index` correspondente pra confirmar o ganho.
Real use cases
Path com BLOB grande indexado
Collection tinha campo `payload` (JSON blob 5-20kb) indexado por default. Excluído via editor. Writes caíram de 38 RU pra 9 RU. Economia mensal R$ 1.8k.
Wildcard paths inúteis
Time tinha `/metadata/*` indexado mas só lia 2 sub-paths. Excluir wildcard + include só os 2 paths usados = -65% RU/write.