Statuscodes mit Web.Contents behandeln

Die Web.Contents-Funktion verfügt über einige integrierte Funktionen für den Umgang mit bestimmten HTTP-Statuscodes. Sie können das Standardverhalten in Ihrer Erweiterung überschreiben, indem Sie das ManualStatusHandling Feld im Optionsdatensatz verwenden.

Automatische Wiederholung

Web.Contents führt automatisch Wiederholungsanforderungen durch, die mit einem der folgenden Statuscodes fehlschlagen:

Code Der Status
408 Anforderungstimeout
429 Zu viele Anforderungen
503 Dienst nicht verfügbar
504 Gateway-Zeitüberschreitung
509 Bandbreitengrenzwert überschritten

Die Funktion wiederholt Anforderungen bis zu dreimal, bevor ein Fehler auftritt. Das Modul verwendet einen exponentiellen Back-Off-Algorithmus, um zu bestimmen, wie lange gewartet werden soll, bis der nächste Wiederholungsversuch stattfindet, außer die Antwort enthält einen Retry-after Header. Wenn der Header gefunden wird, wartet die Engine die angegebene Anzahl Sekunden, bevor der nächste Wiederholungsversuch erfolgt. Die minimale unterstützte Wartezeit beträgt 0,5 Sekunden, und der Maximalwert beträgt 120 Sekunden.

Hinweis

Der Retry-after Wert muss im delta-seconds Format vorliegen. Das HTTP-date Format wird derzeit nicht unterstützt.

Authentifizierungs ausnahmen

Die folgenden Statuscodes verursachen eine Ausnahme für Anmeldeinformationen. Die Ausnahme fordert den Benutzer auf, Anmeldeinformationen anzugeben oder sich erneut anzumelden, wenn ein OAuth-Token abgelaufen ist.

Code Der Status
401 Nicht autorisiert
403 Verboten

Hinweis

Erweiterungen können die ManualStatusHandling Option mit Statuscodes 401 und 403 verwenden. Sie können diese Option nicht bei Web.Contents-Aufrufen verwenden, die außerhalb eines benutzerdefinierten Datenconnectors erfolgen (d. h. direkt aus Power Query).

Redirection

Die folgenden Statuscodes verursachen eine automatische Umleitung zum im Location Header angegebenen URI. Ein fehlender Location Header verursacht einen Fehler.

Code Der Status
300 Mehrfachauswahl
301 Dauerhaft verschoben
302 Gefunden
303 Siehe andere
307 Temporäre Umleitung

Hinweis

Nur Statuscode 307 behält eine POST Anforderungsmethode bei. Alle anderen Umleitungsstatuscodes wechseln zu GET.