← ClaudeAtlas

fabric-eventhouselisted

Use for Microsoft Fabric Eventhouse / KQL Database. Covers connection (cluster URI via `kqlDatabases` REST, kusto.kusto.windows.net audience, az rest temp-file for `|` escaping), authoring (`.create-merge` for safe schema evolution, ingestion inline/set-or-append/from-storage `;impersonate`, streaming policy, CSV/JSON mappings, retention/caching/partitioning/merge policies, materialized views + update policies, external tables), OneLake-availability-ON constraints (add/delete column ✅ April 2026+; type/rename/RLS/deletes need availability off), per-KQL-database remote MCP server (http, read/query auth, not in global MCP template), 4-role permissions (viewer/user/ingestor/admin), KQL query patterns (time-filter-first, has vs contains, materialize), string-matching speed table, KQL graph operators (`make-graph`/`graph-match`/`graph()` snapshots, openCypher — in-engine KQL graph, NOT the GraphModel item; see fabric-graph), and Fabric gotchas (`;impersonate`, MV stuck at 0%, dynamic vs string, == case-sensitive).
wardawgmalvicious/agent-config · ★ 1 · AI & Automation · score 77
Install: claude install-skill wardawgmalvicious/agent-config
# Fabric Eventhouse / KQL Database KQL management and query patterns specific to Fabric Eventhouse. Assumes familiarity with KQL — focus is on Fabric-specific behavior and az-rest-driven workflows. ## Connection - **Cluster URI**: each KQL Database has its own `queryServiceUri`, `https://<cluster>.kusto.fabric.microsoft.com`. Discover with `GET /v1/workspaces/{wsId}/kqlDatabases` (returns `queryServiceUri` + `databaseName` per item). - **Token audience**: `https://kusto.kusto.windows.net/.default` for all direct access. A wrong audience surfaces as a 401 *"Request is invalid and cannot be processed"*, not an auth error. - **Query endpoint**: `POST {clusterUri}/v1/rest/query`, body `{"db":"<dbName>", "csl":"<KQL>"}`. - **KQL `|` breaks shell escaping** — write the JSON body to a temp file and pass `--body @<file>`, never inline. Worked `az rest` invocation and the REST item-definition envelope: [references/programmatic-access.md](references/programmatic-access.md). ## Schema Discovery ```kql .show tables .show table T schema as json // column names + types .show table T details // row count, extent count, size .show functions .show materialized-views .show database principals // who has what role ``` ## Schema Evolution - **`.create-merge table`** is the safe / idempotent form — adds missing columns, never drops existing. Prefer over `.create table` for repeatable deployments. - `.alter-merge table T (NewCol: string)` — add