Forum Discussion
Fabric Pipeline Parameterisation
- 9 months ago
Hi Kiwi_Mark_LFC , I guess this is a rhetorical question, right? 👉 "Why is Fabric not designed to support Enterprise Analytics?"
So, the next I could possible contribute a bit is "I cannot setup a rule to change the Workspace when deploying a Pipeline with a Semantic Model Refresh activity", so, let me get this straight, you want for instance, to have a for each loop that refreshes different semantic models, hence, changing the activity connection dynamically? If that's it ... then NO, not supported as of now and also, I have to confirm that you can't create the connection in the pipeline with deployment pipeline rules either... two out of two 😢
But what if I tell you USING THE API you CAN DO ALL OF THIS?! Would you be interested in doing a bit of coding and achieve this goal with PowerShell scripts talking directly with the API? nedless to say is not an out-of-the-box, but I can tell you here and now, that I've done this by manipulating the JSON definition on the semantic models and then push this modified version to Fabric via API ... let me know and I can guide you, if you want of of the box solutions... this what's currently available Re: How can I manage environment-specific configur... - Microsoft Fabric Community
"[...] to preserve environment-specific differences we use deployment rules However, for Lakehouse shortcuts we need something: variable libraries. This feature needs to be enabled from the Admin portal, then, we use a variable library to configure our Lakehouse shortcuts per environment"
In a subsequent article, Deployment Pipelines in Fabric: The Right Way to Handle Lakehouse Shortcuts
I did a more detailed explanation on the use of variable libraries and how to use them, and I even recorded a session showing you the whole process using Laksehouse shortcuts as an example, here is the link https://youtu.be/KlDJahBTNq4
Hey, would appreciate a kudos and if you mark this as a solution to your post, MUCH BETTER! All the best and ping me here or via my blog if you have additional questions.
Hi Kiwi_Mark_LFC, you are correct. With the pipeline activity for refreshing a semantic model you are currently no able to parameterize the workspace and report. The activity is built as a low-code component where you manually select the workspace and semantic model. These selections are stored as static configuration in the pipeline definition, not exposed as dynamic properties.
The best way to work around this, is to create notebook that detects in which workspace the notebook is executed and triggers a refresh of the required semantic model in this workspace. For this you can use the integrated semantic link Python library, which you don't have to install first.
import sempy.fabric as fabric
# Get the current workspace name
current_workspace = fabric.get_workspace()
print(f"You are in workspace: {current_workspace}")
# Refresh the semantic model in the current workspace
fabric.refresh_dataset(workspace=current_workspace, dataset="ModelName")
Hope this helps. If so, please give kudos 👍 and mark as Accepted Solution ✔️ to help others.