The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
I’m using the Enhanced API to refresh a dataset.
The API waits for the dataset refresh to complete before returning the response, which seems like synchronous behavior.
However, according to the documentation here, it mentions the process as asynchronous.
Can someone clarify if its an expected behavior?
https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes
{"type": "Full","objects": [{"table": "salesdata"}]}
{"startTime": "2024-12-04T06:44:31.363Z","endTime": "2024-12-04T06:49:45.807Z","type": "Full","commitMode": "Transactional","status": "Completed","extendedStatus": "Completed","currentRefreshType": "Full","numberOfAttempts": 0,"objects": [{"table": "SalesData","partition": "SalesData","status": "Completed"}],"refreshAttempts": [{"attemptId": 1,"startTime": "2024-12-04T06:44:31.6101471Z","endTime": "2024-12-04T06:49:45.8077528Z","type": 0}],"ADFWebActivityResponseHeaders": {"Pragma": "no-cache","Transfer-Encoding": "chunked","x-ms-root-activity-id": "773930e3-b8f1-4546-bb96-c2a75504c508","Strict-Transport-Security": "max-age=31536000; includeSubDomains","X-Frame-Options": "deny","X-Content-Type-Options": "nosniff","RequestId": "773930e3-b8f1-4546-bb96-c2a75504c508","Access-Control-Expose-Headers": "RequestId","Cache-Control": "no-store, must-revalidate, no-cache","Date": "Wed, 04 Dec 2024 06:50:07 GMT","Content-Type": "application/json; charset=utf-8"},"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (East US)","executionDuration": 338,"durationInQueue": {"integrationRuntimeQueue": 10},"billingReference": {"activityType": "ExternalActivity","billableDuration": [{"meterType": "AzureIR","duration": 0.09999999999999999,"unit": "Hours"}]}}
Additionally, attaching some screenshots for reference:
^Refer here for API request start and response time
Solved! Go to Solution.
Not sure if anything has changed recently but in general the API only allows you to request a refresh. With the Enhanced API you get a Request ID back.
Mind you , it is just a request, and it is (was?) asynchronous . If you want to know the status of your request you need to implement your own polling mechanism. Ideally with reasonable intervals (eg every five minutes). Without Request ID the indicator is the presence of and EndDate for the first entry in the refresh history. With Request ID (ie enhanced API) you can submit a polling query which returns the status for that Request ID.
Not sure if anything has changed recently but in general the API only allows you to request a refresh. With the Enhanced API you get a Request ID back.
Mind you , it is just a request, and it is (was?) asynchronous . If you want to know the status of your request you need to implement your own polling mechanism. Ideally with reasonable intervals (eg every five minutes). Without Request ID the indicator is the presence of and EndDate for the first entry in the refresh history. With Request ID (ie enhanced API) you can submit a polling query which returns the status for that Request ID.