Forum Discussion

PrachiJain_2025's avatar
PrachiJain_2025
Icon for Kudo Collector rankKudo Collector
1 year ago
Solved

Cloning and Publishing Eventstream via Fabric API — Response 202 but Blank Eventstream

Hi all,

I'm working on cloning an existing Fabric Eventstream using the Fabric REST APIs. The goal is to automate the process of duplicating a working Eventstream and publishing it with a new display name.

What I did:

  • Used the /getDefinition API to extract the full Eventstream structure.

  • Decoded all payload parts (such as eventstream.json, platform.json, etc.).

  • Modified the displayName in platform.json to differentiate the cloned stream.

  • Re-encoded the parts to Base64 and used the /items POST API to create a new Eventstream.

What happens:

  • The initial response is 202 Accepted, and I receive a Location header.

  • I poll the Location URL until I get a 200 OK response.

  • The final response shows "status": "Succeed".

The issue: Despite a successful status, the cloned Eventstream appears blank in the Fabric UI — no sources, streams, or destinations are shown.

Questions:

  1. Are there additional validation checks or metadata required for a proper Eventstream publish?

  2. Do we need to explicitly include or transform certain properties beyond what's returned by /getDefinition?

  3. Are there known limitations or issues with using the Eventstream API for cloning and provisioning?

I’d appreciate any help or insights from others who have successfully implemented this or faced a similar issue. I can provide sanitized code snippets if needed.

Thanks in advance.

  • Hi PrachiJain_2025 ,

    • Replace any original itemId, workspaceId, or dataConnectionId with those relevant to the new workspace/resources.
    • The Fabric UI might not immediately reflect the cloned Eventstream due to caching or a delay in provisioning the underlying resources (e.g., Event Hubs namespace).
    • The Eventstream REST API might not fully support cloning complex configurations (e.g., transformations or enhanced capabilities) in a single POST operation, requiring additional steps.
    • Eventstreams rely on connections to sources and destinations (e.g., Azure Event Hubs, KQL Databases). If the cloned definition retains original workspace-specific IDs or connection references that don’t exist in the new context, Fabric might silently discard those components.
    • After calling /getDefinition, ensure the response includes all expected parts: eventstream.json (defining sources, destinations, operators, streams) and platform.json (metadata like displayName).
    • Event streams often link to external resources via IDs (e.g., dataConnectionId for Event Hubs or itemId for a Lakehouse). If these IDs are workspace-specific, reusing them in a new Eventstream could cause Fabric to ignore those components.

    Reference : https://learn.microsoft.com/en-us/fabric/real-time-intelligence/event-streams/eventstream-rest-api

    Hope this helps !

    Did I answer your question? Then please mark my post as the solution.

5 Replies

  • v-aatheeque's avatar
    v-aatheeque
    Icon for Community Support rankCommunity Support

    Hi PrachiJain_2025 ,

    • Replace any original itemId, workspaceId, or dataConnectionId with those relevant to the new workspace/resources.
    • The Fabric UI might not immediately reflect the cloned Eventstream due to caching or a delay in provisioning the underlying resources (e.g., Event Hubs namespace).
    • The Eventstream REST API might not fully support cloning complex configurations (e.g., transformations or enhanced capabilities) in a single POST operation, requiring additional steps.
    • Eventstreams rely on connections to sources and destinations (e.g., Azure Event Hubs, KQL Databases). If the cloned definition retains original workspace-specific IDs or connection references that don’t exist in the new context, Fabric might silently discard those components.
    • After calling /getDefinition, ensure the response includes all expected parts: eventstream.json (defining sources, destinations, operators, streams) and platform.json (metadata like displayName).
    • Event streams often link to external resources via IDs (e.g., dataConnectionId for Event Hubs or itemId for a Lakehouse). If these IDs are workspace-specific, reusing them in a new Eventstream could cause Fabric to ignore those components.

    Reference : https://learn.microsoft.com/en-us/fabric/real-time-intelligence/event-streams/eventstream-rest-api

    Hope this helps !

    Did I answer your question? Then please mark my post as the solution.

    • v-dineshya's avatar
      v-dineshya
      Icon for Community Support rankCommunity Support

      Hi PrachiJain_2025 ,

      If you find this post helpful, please mark it as an "Accept as Solution" and consider giving a KUDOS. Feel free to reach out if you need further assistance.
      Thanks and Regards

    • v-dineshya's avatar
      v-dineshya
      Icon for Community Support rankCommunity Support

      Hi PrachiJain_2025 ,

      If you find this post helpful, please mark it as an "Accept as Solution" and consider giving a KUDOS. Feel free to reach out if you need further assistance.
      Thanks and Regards