Gestione del codice di stato con Web.Contents
La Web.Contents
funzione include alcune funzionalità predefinite per la gestione di determinati codici di stato HTTP. È possibile eseguire l'override del comportamento predefinito nell'estensione usando il ManualStatusHandling
campo nel record delle opzioni.
Ripetizione automatica dei tentativi
Web.Contents
ritenta automaticamente le richieste che hanno esito negativo con uno dei codici di stato seguenti:
Codice | Status |
---|---|
408 | Timeout richiesta |
429 | Troppe richieste |
503 | Servizio non disponibile |
504 | Timeout del gateway |
509 | Larghezza di banda superata |
Le richieste verranno ritentate fino a tre volte prima dell'esito negativo. Il motore usa un algoritmo di back-off esponenziale per determinare quanto tempo attendere fino al successivo tentativo, a meno che la risposta non contenga un'intestazione Retry-after
. Quando viene trovata l'intestazione, il motore attenderà il numero specificato di secondi prima del nuovo tentativo successivo. Il tempo di attesa minimo supportato è 0,5 secondi e il valore massimo è 120 secondi.
Nota
Il Retry-after
valore deve essere nel delta-seconds
formato . Il HTTP-date
formato non è attualmente supportato.
Eccezioni di autenticazione
I codici di stato seguenti genereranno un'eccezione di credenziali, causando una richiesta di autenticazione che chiede all'utente di fornire le credenziali o di eseguire di nuovo l'accesso nel caso di un token OAuth scaduto.
Codice | Status |
---|---|
401 | Non autorizzata |
403 | Non consentito |
Nota
Le estensioni sono in grado di usare l'opzione ManualStatusHandling
con codici di stato 401 e 403, che non è un'operazione che può essere eseguita nelle Web.Contents
chiamate effettuate all'esterno di un connettore dati personalizzato (ovvero direttamente da Power Query).
Reindirizzamento
I codici di stato seguenti genereranno un reindirizzamento automatico all'URI specificato nell'intestazione Location
. Un'intestazione mancante Location
genererà un errore.
Codice | Status |
---|---|
300 | Scelte multiple |
301 | Spostato in modo permanente |
302 | Trovato |
303 | Vedere Altro |
307 | Reindirizzamento temporaneo |
Nota
Solo il codice di stato 307 manterrà un POST
metodo di richiesta. Tutti gli altri codici di stato di reindirizzamento genereranno un passaggio a GET
.