Votre passerelle APIM transmet les requêtes à un backend qui renvoie par intermittence des codes 500 ou 504. Vous devez réessayer les appels échoués jusqu'à trois fois avec un délai d'une seconde, mais uniquement pour ces deux codes d'état. Quelle configuration de politique devriez-vous utiliser ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Envelopper l'appel backend avec une politique de nouvelle tentative : <retry count="3" interval="1" condition="@(context.Response.StatusCode == 500 || context.Response.StatusCode == 504)">`<forward-request />`</retry>..
Pourquoi c'est la réponse
La politique de nouvelle tentative est la solution appropriée car elle permet de spécifier le nombre de tentatives (count), l'intervalle entre les tentatives (interval) et, surtout, une condition (condition) pour déclencher la nouvelle tentative. Ici, la condition @(context.Response.StatusCode == 500 || context.Response.StatusCode == 504) garantit que seules les requêtes renvoyant un code 500 ou 504 seront réessayées. Les autres options sont incorrectes car : la politique de nouvelle tentative sans condition réessaierait toutes les requêtes échouées, ce qui n'est pas souhaité ; utiliser set-variable et send-request avec JavaScript est une approche trop complexe et non idiomatique pour ce cas d'utilisation simple ; et définir un délai d'expiration sur forward-request ne déclenche pas de nouvelle tentative automatique, mais seulement l'arrêt de la requête après le délai spécifié.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise