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 ao vivo e gera o JSON paste-ready.
Onde ele fica no app: Tools → Cosmos DB → Index Policy Editor
O que ele faz
- Schema sampling de 100 docs para descobrir paths automaticamente.
- Tree view de paths com toggle Include/Exclude por path.
- Estimativa de custo: "Default 47 RU/write → após mudanças 12 RU/write — 74% mais barato".
- JSON preview gerado automaticamente.
- Draft persistido por (connection, ns) — pode iterar sem perder.
Passo a passo
- 1
Sample schema
Coloque o namespace (ex: `app.products`). Clique "Sample schema". Em ~3s mostra a árvore de paths descobertos.
- 2
Toggle paths
Clique 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 para copy.
- 4
Aplique no Cosmos
Copie o JSON gerado, abra Azure portal → Containers → Settings → Indexing policy → cole → 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 para confirmar o ganho.
Casos de uso reais
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 para 9 RU. Economia mensal R$ 1.8k.
Wildcard paths inúteis
Time tinha `/metadata/*` indexado mas só lia 2 sub-paths. Excluir wildcard + incluir só os 2 paths usados = -65% RU/write.