Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello there!
I've got a quite complex report that gets a good set of different fields. When I run a refresh on Power BI Desktop, it takes a while but works. After publishing to the service, refreshes (manual and scheduled) fail consistently with "Web.Contents failed to get contents (429): Data APi call already in progress...". I figured Power BI Service is pulling data parallel and tried reducing queries into one proxy query from which my other queries then get their fields. With this constellation there are just too many fields in this one query and the SQL analysis service gets stuck and never finishes. So not good either. Now, I've got it divided into 4 queries with 4 different API keys, thinking the API server will then recognise that it's separate queries and not throw the 429, but to no avail. How do I get Power BI service to not process in parallel and honour my configuration of serial processing as Power BI desktop does? Alternatively, how can I avoid SQL Analysis Service to get stuck with too many columns? Any other suggestions how to approach this?
P.S.: On-demand request fails without error message (just an empty line) after 30 seconds from start time while scheduled refresh fails after 15-20 mins with the mentioned message (Web.Contents failed to get contents (429): Data API call already in progress). That's a bit strange, I think.
Cheers
Jens
I am also getting this error. Is there a solution?
Hi @jsteinigen ,
Sorry for that, We cannot reproduce the issue here and also not found an effective solution. We suggest you to open a ticket here for help if you are a pro user: https://powerbi.microsoft.com/en-us/support/
Best regards,
Community Support Team _ Dong Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Well @v-lid-msft, that'll be happening in parallel.
For now I had a closer look at the Web.Contents ManualStatusHandling option and think it should work to implement the wait-retry pattern for the 429 error. But saying that, I implemented it and get an error I cannot figure out.
I followed https://docs.microsoft.com/en-us/power-query/waitretry#putting-it-all-together but now getting the error message:
"Expression.Error: The import Value.WaitFor matches no exports. Did you miss a module reference?".
My code for the query:
let
Source = Csv.Document(
let
waitForResult = Value.WaitFor((iteration) =>
let
result = Web.Contents("https://au...censored...com",[RelativePath="/api/v1/surveys/selfserve/...censored.../data?fields=uuid,age,gender,...censored...",
Headers=[#"x-apikey"="...censored..."],ManualStatusHandling={429}]),
buffered = Binary.Buffer(result),
status = Value.Metadata(result)[Response.Status],
actualResult = if status = 429 then null else buffered
in
actualResult,
(iteration) => #duration(0,0,0,Number.Power(2, iteration)), 5)
in
waitForResult,
[Delimiter=" ", Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true])
in
#"Promoted Headers"
Any idea what I might be doing wrong and how to fix it?
I am getting the same error, did you figure this out?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.