2016-11-03 1 views
2

Gibt es in Excel Power Query (PQ) 2016 eine solche Funktion, die ein "SLEEP 15 Sekunden" einfügen kann, bevor Sie fortfahren? Keine Pause, sondern eine Schlaffunktion.Excel Power Query - Ruhezustand oder Wartebefehl zum Warten auf API-Ratenbeschränkung

Problem: Ich schrieb eine Funktion in PQ Abfrage: https://westus.api.cognitive.microsoft.com/text/analytics/v2.0. Diese Funktion funktioniert wie geplant.

Ich habe ein Arbeitsblatt mit 10K Tweets, die ich an diese Funktion übergeben möchte. Wenn ich es mache, wird es ungefähr ~ 60 oder so abgeschlossen und ich bekomme eine ERROR-Zeile in PQ. Ein Blick auf Fiddler sagt dies:

message = Rate Limit ist überschritten. Versuche es in 11 Sekunden erneut. statusCode = 429

Ich denke, wenn ich einen SLEEP 5 Sekunden (äquivalent) Befehl in die PQ-Funktion einfügen, wird dies nicht tun.

Hilfe & danke.

Antwort

2

Sie wollen Function.InvokeAfter

Function.InvokeAfter(function as function, delay as duration) as any 

Hier ist ein Beispiel:

= Function.InvokeAfter(() => 2 + 2, #duration(0,0,0,5)) 

Returns 4 nach 5 Sekunden warten.


Um eine Frage zu beantworten, die Sie noch nicht fragen, wenn Sie genau die gleichen Web.Contents rufen ein zweites Mal ausführen gehen, können Sie die

[IsRetry = true] 

Option verwenden müssen von Web.Contents, um anzuzeigen, dass Sie die Webanforderung tatsächlich erneut ausführen möchten.

Verwandte Themen