Pavel Janata on 26 Jul 2019 13:40:18
Please add this operation. It is extremely useful in case of Datasets to monitor refreshes and even more important for me to check whether the refresh is stil going on or is already finished (and with what status). Based on this information I can either rerun the refresh or initialize following data transformation.
- Comments (8)
RE: Dataflow REST API - Get Refresh History
+1 BRUNO Maria - to use Dataflows in an Enterprise situation (we are; paid for Premium, etc.) this is an absolute necessity to wrap together all components of a data solution.
RE: Dataflow REST API - Get Refresh History
As the dataflow solution fits exactly with our technical constraints (a good balance between refresh duration and user experience in Power BI.com) we will extend the usage of it for heavy datasets.
But we cannot finalize the industrialisation of a sequence of 3 dataflows and the final dataset. To do so, it is absolutly necessary to be able to capture the refresh history of the dataflows in the REST API.
I think it would be logical to have in the REST API the same functionalities for dataflows than for dataset.
RE: Dataflow REST API - Get Refresh History
I wrote about a workaround here: https://endjin.com/blog/2020/04/power-bi-dataflow-refresh-polling
RE: Dataflow REST API - Get Refresh History
Is there any workaround for this?
i don't see this feature in next release wave so not sure if this will be available anytime soon
RE: Dataflow REST API - Get Refresh History
Just for inspiration, this is a workaround algoritm for this REST API operation. I'm running this in Logic Apps.
1) Save current time in UTC (var currentTime).
2) Refresh dataflow (REST API - Dataflows - Refresh Dataflow)
3) If request is succesfull (statusCode = 200) or dataflow is already refreshing (error.code = 'CdsaModelIsAlreadyRefreshing') continue, otherwise there is some error
4) Check dataflow every 3 minutes for 15 minutes (5 times in total) (REST API - Dataflows - Get Dataflow)
5) If last entity partition refresh time is greater than variable currentTime (last(last(entities).partitions).refreshTime > currentTime) then the dataflow is refreshed successfully
6) If not (after 5 checks) continue from step 2 (Refresh dataflow) - I'm running this loop 4 times...waiting for dataflow to be refreshed succesfully 60 minutes (4x15) total.
It is definetely not the robust solution but it is working for me without any problems.
If you need any detailed info let me know, I can provide more details.
RE: Dataflow REST API - Get Refresh History
Please make this happen. It would really be useful to schedule Dataflow Power Flows based on the completion of the previous step and Datasets Power Flows based on the completion of Dataflow.
RE: Dataflow REST API - Get Refresh History
Surprised this doesn't exist as part of the current API, as the dataset refresh has this currently. Require this to check to make sure a Dataflow refresh is finished prior to dataset refreshes
RE: Dataflow REST API - Get Refresh History
We absolutely need this