Forum Discussion

ahwanmishra's avatar
ahwanmishra
Regular Visitor
1 year ago
Solved

Clarification on Asynchronous vs Synchronous Behavior of Enhanced API for Dataset Refresh

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?

 

API endpoint used:

https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes

 

Request Body:

 

{"type": "Full","objects": [{"table": "salesdata"}]}

 

 

 

Response:

 

{"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

^PowerBI Refresh history

 

Thanks in advance!

  • 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.

1 Reply

  • 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.