I am trying to get a refresh status of a Dataflow through API.
I can look to see if the last refresh time is "today" so i know it has successfully completed, howerver, if the refresh fails the last refresh time stays at the last successful refresh time. So is there a way to pull back the Status of the latest refresh like there is with Datasets?
I had this issue, and found a workaround. See the blog I wrote here: https://blogs.endjin.com/2020/04/power-bi-dataflow-refresh-polling/
TL;DR - You can actually call a hidden endpoint that the UI uses to make similar requests. Not an ideal solution, but it works.
Hope this helps,
I think is a nice sneaky solution, I do worry that because its not offical this could change?
I have a work around with the APIs to keep checking the update datetime to see if has changed from the when the refresh request was started. This works quite well for now, but would be good to see the added to the API properly
Yes - it definitely could change, so the approach I outlined should be used with caution.
The problem with checking the last updated time on the partitions (if that's what you're referring to) is when the refresh is hanging/fails for some reason. You'd need to define some sort of timeout, otherwise your polling could go on forever. I considered doing this, but stumbled across the undocumented API I allude to in my blog, which I thought was a marginally better solution for my use-case, but by no means ideal.
As you mentioned, hopefully there'll be a 'proper' solution in the near future 🙂
I'm looking for exactly the same info. In our case, we have multiple "ingest" dataflows that go into a compute dataflow. I want to know when all the ingest dataflows are complete so I can kick off the compute dataflow.
I'm able to see the refresh status in a browser...seems like there should be an API, just like the one for datasets. But I wasn't able to get one to work.
There is not an API endpoint for this. The only way I've found is to extract the dataflow .JSON and check /entites//partions//refreshTime.
If your entity is using Incremental Refresh, this refreshTime is always one refresh behind.
Hi Jeff, thank you - I appreciate the help. Struggling because the API doesn't seem to work unless you are the owner of the dataflow. Hope MS gets issues like this straightened out...the fact that a dataflow can have only one author kinda reflects a non-enterprise mentality when designing the access model...