Forum Discussion
Step-by-Step Guidance for Power BI Push Data Using Microsoft Fabric (REST API)
Hello Community,
I previously used the Power BI REST API to create datasets in Azure by posting the table schema and receiving a dataset ID as a response. This allowed me to push data into the dataset, making it visible in Power BI for reporting and analytics. However, with the deprecation of this dataset model, Microsoft now recommends using Microsoft Fabric.
While I am aware that it is possible to create datasets using the UI in Fabric, I specifically need to know how to perform these actions using the REST API.
I am looking for detailed guidance on how to transition to using Microsoft Fabric as an alternative, specifically for:
Creating an equivalent setup in Fabric (e.g., Lakehouse or Warehouse) via REST API.
Pushing data to these new structures and ensuring visibility in Power BI reports.
Any necessary schema definition steps for Fabric.
Could anyone provide a step-by-step process or share documentation/resources that outline how to implement this using REST API?
Your insights and any related examples would be highly appreciated!
Thank you in advance!
3 Replies
- rajendraongole1
Super User
Hi Mestu_Paul - Microsoft Fabric offers two main data structures suitable for analytics and reporting—Lakehouse and Warehouse. Both are accessible via Microsoft Fabric REST APIs, though the API structure and requirements differ from the traditional Power BI dataset creation.
Lakehouse: Best for unstructured and structured data, stored in Delta Lake format. It integrates well for scenarios needing a mix of batch and real-time data handling.
Warehouse: Geared towards structured data with strong T-SQL support, which is more like a traditional data warehouse and may be ideal if you need full transactional support and enterprise-scale data modeling.Items - Create Lakehouse - REST API (Lakehouse) | Microsoft Learn
Microsoft Fabric REST API references - Microsoft Fabric REST APIs | Microsoft Learn
Once your Lakehouse or Warehouse is set up, data can be ingested using various methods:
Pipelines: Microsoft Fabric includes Data Pipelines that allow you to schedule and automate data ingestion.
Dataflows: For a no-code/low-code approach, Dataflows can feed data directly into your Lakehouse or Warehouse.
Direct API Push: Fabric’s REST API allows you to programmatically push data to these data structures, similar to the dataset API in Power BI.Hope, these resources will help you adapt your existing REST API workflows
- Mestu_Paul
Helper II
Yes, I found the API documentation mentioned, but I still see some limitations and gaps when trying to push data from external sources directly:
Lakehouse Data Push:
- While it’s possible to push data as CSV or Parquet files to the OneLake files folder in a Lakehouse, it would be more efficient to have an option to push data directly into tables. Currently, the process involves creating a file and then moving that data into a table, which adds extra steps.
- Although pipelines can be set up to automate data movement from files to tables, I haven’t found REST API endpoints that support creating these pipelines with parameters such as source, destination, and mappings. This capability would be vital for streamlining data integration.
Warehouse Data Push:
- For the Warehouse structure, I couldn’t find clear API endpoints that allow the creation of tables or direct data insertion into tables. The documentation seems to lack specifics on how to manage these actions through REST APIs.
- rajendraongole1
Super User
Hi Mestu_Paul - The current limitations with Microsoft Fabric’s APIs reflect an evolving platform where full REST API support for direct data management in Lakehouse and Warehouse environments is not yet available. In the meantime, leveraging file-based ingestion and using Power Automate or Azure Data Factory may be necessary workarounds.
While not ideal since they involve extra tools, as i mentioned , we can use Power Automate and Azure Data Factory can be used to handle data ingestion workflows and scheduling for OneLake or Warehouse data. This could somewhat bridge the gap for automated data movement from external sources.
I hope the above details helps.