Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Is this even possible?
I want to programatically loop through my transformation notebooks and parse the materialised lake view SQL to get a source field, destination field, and a bunch of other useful information for a data dictionary. Plus side to building a loop is I can run it on a schedule and report if any field name or data types change for any reason and ping that down the line to my reporting guys or data quality.
I can get all the notebooks within folders easilly enough, and parsing the string would be straight forward - but actually grabbing the content is proving difficult.
I've played around with Get Notebook Definition but the Body JSON is always null? Is there another way / API endpoint i've not found?
Thanks
Solved! Go to Solution.
Fabric does not expose notebook cell contents through the public APIs today. Get Notebook Definition only returns metadata, not the code or markdown cells which is why the body field is always null. I believe the product team has not exposed any API to fetch notebook source programmatically.
Possible options as of today:
Store your SQL logic in external files (Lakehouse, Git, or a mirrored repo) and have notebooks read from there. Then you can parse those files easily.
Use Fabric Git integration (if enabled) and parse the notebook source from the .ipynb representation in Git. That is currently the only reliable method to get notebook content automatically.
Move your transformation logic into pipelines, dataflow gen2 or SQL scripts if you want first class lineage parsing.
But directly reading notebook cell strings from another notebook or API is not supported today.
Fabric does not expose notebook cell contents through the public APIs today. Get Notebook Definition only returns metadata, not the code or markdown cells which is why the body field is always null. I believe the product team has not exposed any API to fetch notebook source programmatically.
Possible options as of today:
Store your SQL logic in external files (Lakehouse, Git, or a mirrored repo) and have notebooks read from there. Then you can parse those files easily.
Use Fabric Git integration (if enabled) and parse the notebook source from the .ipynb representation in Git. That is currently the only reliable method to get notebook content automatically.
Move your transformation logic into pipelines, dataflow gen2 or SQL scripts if you want first class lineage parsing.
But directly reading notebook cell strings from another notebook or API is not supported today.
I can confirm linking the workspace to devops, then using the devops API to find notebook-content.py files under whatever location you have files saved in, you can grab the file.text directly. 👍
Experience the highlights from FabCon & SQLCon, available live and on-demand starting April 14th.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 11 | |
| 3 | |
| 3 | |
| 3 | |
| 3 |