Il tuo gateway APIM inoltra le richieste a un backend che restituisce in modo intermittente 500 o 504. Devi ritentare le chiamate fallite fino a tre volte con un ritardo di un secondo, ma solo per questi due codici di stato. Quale configurazione di policy dovresti usare?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Avvolgi la chiamata al backend con una policy di retry: <retry count="3" interval="1" condition="@(context.Response.StatusCode == 500 || context.Response.StatusCode == 504)">`<forward-request />`</retry>..
Perché questa è la risposta
L'opzione corretta utilizza la policy retry di Azure API Management, che è progettata specificamente per gestire scenari di tentativi. La policy retry consente di specificare il numero di tentativi (count), l'intervallo tra i tentativi (interval) e, crucialmente, una condition per determinare quando eseguire il retry. In questo caso, la condizione @ (context.Response.StatusCode == 500 || context.Response.StatusCode == 504) garantisce che i tentativi avvengano solo per i codici di stato 500 o 504, come richiesto. La policy forward-request all'interno del blocco retry indica che è la richiesta originale al backend a dover essere ritentata. Le altre opzioni sono errate perché: Un retry senza condizione ritenterebbe tutte le richieste fallite, non solo quelle con 500 o 504. L'uso di set-variable e send-request con JavaScript è un approccio eccessivamente complesso e meno efficiente rispetto alla policy retry nativa, che è più performante e idiomatica per questo scopo. Impostare un timeout su forward-request non abilita automaticamente i tentativi; un timeout semplicemente interrompe la richiesta dopo un certo periodo, ma non la ritenta.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta