Ejercicio: Limitación de las solicitudes de API
En API Management, se usan directivas para implementar limitaciones (limitación de frecuencia).
Recuerde que su agencia gubernamental quiere evitar el abuso de sus API, como en el caso de grandes volúmenes de solicitudes.
En esta unidad, obtendrá información sobre cómo limitar una frecuencia con la que se puede llamar a la API del censo. En este ejemplo, el límite se aplica globalmente a todos los puntos de conexión de la API del censo.
Aplicación de una directiva de límite de frecuencia
Para aplicar una directiva de limitación en API Management, siga estos pasos:
Inicie sesión en Azure Portal con la misma cuenta que usó en los ejercicios anteriores.
En el menú de Azure Portal o en la página Inicio , seleccione Todos los recursos y, a continuación, seleccione la instancia de API Management.
En el panel de menús de la izquierda, en API, seleccione API y, en el panel central, seleccione Datos del censo.
En la barra de menús superior, seleccione la pestaña Diseño y, a continuación, seleccione Todas las operaciones.
En la sección Procesamiento de entrada , seleccione el <icono /> . Aparece el editor de directiva XML.
Reemplace el elemento
<inbound>
entero por el código siguiente:<inbound> <rate-limit calls="3" renewal-period="15" /> <base /> </inbound>
Seleccione Guardar.
Su archivo de directivas debería contener las tres de forma similar a este código:
<policies>
<inbound>
<rate-limit calls="3" renewal-period="15" />
<base />
</inbound>
<backend>
<base />
</backend>
<outbound>
<set-header name="x-powered-by" exists-action="delete" />
<redirect-content-urls />
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
Nota:
El orden de las directivas dentro de cada sección no es importante para este ejemplo.
Prueba de la directiva
Ahora vamos a ver si la directiva de limitación funciona:
Vuelva a seleccionar Datos del censo y, en la barra de menús superior, seleccione la pestaña Prueba .
Seleccione la operación GetLatestCensus y, a continuación, seleccione Enviar tres veces en una fila.
Al enviar la solicitud la tercera vez, debería obtener una respuesta de error 429 (demasiadas solicitudes):