From fabric-skills
Lists, inspects, and monitors Microsoft Fabric Eventstream real-time event ingestion pipelines via Fabric Items REST API. Decodes base64 graph topologies to trace event flow, validates source/destination configs, retention (1-90 days), and throughput.
npx claudepluginhub microsoft/skills-for-fabric --plugin skills-for-fabricThis skill uses the workspace's default tool permissions.
> **Update Check — ONCE PER SESSION (mandatory)**
Authors, wires, and publishes Microsoft Fabric Eventstream real-time streaming topologies via Fabric Items REST API. Supports 25 sources (Event Hubs, IoT Hub, CDC, Kafka), 8 operators (Filter, Aggregate, Join, SQL), 4 destinations.
Manages MongoDB Atlas Stream Processing pipelines: provisions workspaces, configures Kafka/Atlas/S3/Lambda connections, operates processors, debugs issues, sizes tiers.
Manages MongoDB Atlas Stream Processing (ASP) workflows: provisions workspaces, configures connections (Kafka, Atlas clusters, S3, HTTPS, Lambda), operates processors, debugs diagnostics, and sizes tiers for streaming data.
Share bugs, ideas, or general feedback.
Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.
- GitHub Copilot CLI / VS Code: invoke the
check-updatesskill.- Claude Code / Cowork / Cursor / Windsurf / Codex: compare local vs remote package.json version.
- Skip if the check was already performed earlier in this session.
CRITICAL NOTES
- To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering
- To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering
- Eventstream ≠ Eventhouse. Eventstream is a real-time event ingestion and routing pipeline. For KQL queries, use
eventhouse-consumption-cli.
| Task | Reference | Notes |
|---|---|---|
| Finding Workspaces and Items in Fabric | COMMON-CLI.md § Finding Workspaces and Items in Fabric | Mandatory — READ link first [needed for finding workspace id by its name or item id by its name, item type, and workspace id] |
| Fabric Topology & Key Concepts | COMMON-CORE.md § Fabric Topology & Key Concepts | |
| Environment URLs | COMMON-CORE.md § Environment URLs | |
| Authentication & Token Acquisition | COMMON-CORE.md § Authentication & Token Acquisition | Wrong audience = 401; read before any auth issue |
| Core Control-Plane REST APIs | COMMON-CORE.md § Core Control-Plane REST APIs | Includes pagination, LRO polling, and rate-limiting patterns |
| Gotchas, Best Practices & Troubleshooting | COMMON-CORE.md § Gotchas, Best Practices & Troubleshooting | |
| Tool Selection Rationale | COMMON-CLI.md § Tool Selection Rationale | |
| Authentication Recipes | COMMON-CLI.md § Authentication Recipes | az login flows and token acquisition |
Fabric Control-Plane API via az rest | COMMON-CLI.md § Fabric Control-Plane API via az rest | Always pass --resource; includes pagination and LRO helpers |
| Gotchas & Troubleshooting (CLI-Specific) | COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific) | az rest audience, shell escaping, token expiry |
| Quick Reference | COMMON-CLI.md § Quick Reference | az rest template + token audience/tool matrix |
| Listing and Discovering Eventstreams | EVENTSTREAM-CONSUMPTION-CORE.md § Listing and Discovering Eventstreams | List, Get, Search across workspaces |
| Inspecting Eventstream Topology | EVENTSTREAM-CONSUMPTION-CORE.md § Inspecting Eventstream Topology | Decode base64 definition → trace graph flow |
| Monitoring Eventstream Health | EVENTSTREAM-CONSUMPTION-CORE.md § Monitoring Eventstream Health | Retention and throughput checks |
| Source and Destination Status | EVENTSTREAM-CONSUMPTION-CORE.md § Source and Destination Status | Validation checklist for sources and destinations |
| Integration with Downstream Analytics | EVENTSTREAM-CONSUMPTION-CORE.md § Integration with Downstream Analytics | Eventhouse, Lakehouse, Activator, Real-Time Hub |
| Gotchas and Troubleshooting Reference | EVENTSTREAM-CONSUMPTION-CORE.md § Gotchas and Troubleshooting Reference | 10 common issues with causes and fixes |
| List Eventstreams | SKILL.md § List Eventstreams | |
| Inspect Eventstream Topology | SKILL.md § Inspect Eventstream Topology | Decode and explore the graph |
| Validate Eventstream Configuration | SKILL.md § Validate Eventstream Configuration | |
| Gotchas, Rules, Troubleshooting | SKILL.md § Gotchas, Rules, Troubleshooting | MUST DO / AVOID / PREFER checklists |
az rest --method GET \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventstreams" \
--resource "https://api.fabric.microsoft.com"
Returns an array of Eventstream items. Use JMESPath to filter by name:
az rest --method GET \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventstreams" \
--resource "https://api.fabric.microsoft.com" \
--query "value[?displayName=='my-eventstream']"
az rest --method GET \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventstreams/${EVENTSTREAM_ID}" \
--resource "https://api.fabric.microsoft.com"
Retrieve the Eventstream definition and decode it to inspect the full graph topology.
az rest --method GET \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventstreams/${EVENTSTREAM_ID}/definition" \
--resource "https://api.fabric.microsoft.com"
Extract the eventstream.json part's payload field and base64-decode it:
# Using jq + base64 (Linux/macOS)
az rest --method GET \
--url "https://api.fabric.microsoft.com/v1/workspaces/${WORKSPACE_ID}/eventstreams/${EVENTSTREAM_ID}/definition" \
--resource "https://api.fabric.microsoft.com" \
| jq -r '.definition.parts[] | select(.path=="eventstream.json") | .payload' \
| base64 -d | jq .
# PowerShell (Windows)
$def = az rest --method GET `
--url "https://api.fabric.microsoft.com/v1/workspaces/$WORKSPACE_ID/eventstreams/$EVENTSTREAM_ID/definition" `
--resource "https://api.fabric.microsoft.com" | ConvertFrom-Json
$payload = ($def.definition.parts | Where-Object { $_.path -eq 'eventstream.json' }).payload
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($payload)) | ConvertFrom-Json | ConvertTo-Json -Depth 10
After decoding, count and list each node type:
| Metric | Path in decoded JSON |
|---|---|
| Sources | .sources[] | .name, .type |
| Destinations | .destinations[] | .name, .type |
| Operators | .operators[] | .name, .type |
| Streams | .streams[] | .name, .type |
Check key configuration aspects of a decoded Eventstream topology:
| Check | How |
|---|---|
| Source type is API-supported | Compare against 25 known type enums |
| Cloud connection exists | Verify dataConnectionId GUID resolves |
| Consumer group set | Required for Event Hub, IoT Hub, Kafka sources |
| Serialization matches source | inputSerialization.type = Json, Csv, or Avro |
| Check | How |
|---|---|
| Destination type is valid | Must be Lakehouse, Eventhouse, Activator, or CustomEndpoint |
| Target item accessible | Verify workspaceId + itemId resolve via GET |
| Input wired | inputNodes array must not be empty |
| Eventhouse direct ingestion | connectionName and mappingRuleName set |
Decode eventstreamProperties.json and check:
retentionTimeInDays is within 1–90eventThroughputLevel is Low, Medium, or High--resource https://api.fabric.microsoft.com with az rest callscontinuationUri in list responses202 Acceptedjq (bash) or ConvertFrom-Json (PowerShell) for parsingeventstream-authoring-cli for writes