Guía de limitación de API para Azure Data Manager for Agriculture
La limitación se aplicará al número de solicitudes enviadas a un servicio dentro de un intervalo de tiempo con el fin de evitar el uso excesivo de recursos. La limitación de la API de REST en Azure Data Manager for Agriculture permite un rendimiento más coherente en un intervalo de tiempo para los clientes que llaman a las API del servicio.
Azure Data Manager for Agriculture puede controlar un gran volumen de solicitudes. Si se produce un número abrumador de solicitudes de algunos clientes, la limitación ayuda a mantener un rendimiento y una confiabilidad óptimos para todos los clientes.
La limitación depende de la versión seleccionada y de las funcionalidades del producto que use un cliente. Azure Data Manager for Agriculture admite dos versiones distintas:
- Estándar: la versión que se recomienda generalmente.
- Básica: adecuada para los requisitos de creación de prototipos.
Estos límites funcionan dentro de tres ventanas de tiempo (por un minuto, por cinco minutos y por un mes) para protegerse frente a picos repentinos en el tráfico.
En este artículo se muestra cómo hacer el seguimiento al número de solicitudes que quedan para alcanzar el límite y cómo responder cuando se alcance. La limitación se aplica a estas API.
Clasificación de las API
Las API de Azure Data Manager for Agriculture se dividen en tres categorías principales:
- Operaciones de escritura: API que usan métodos de API de REST como
PATCH
,POST
yDELETE
para modificar datos. - Operaciones de lectura: API que usan el tipo
GET
de método de la API de REST para recuperar datos, incluidas las API de búsqueda del tipo de métodoPOST
. - Operaciones de trabajo de ejecución prolongada: API de trabajo asincrónicas de ejecución prolongada que usan el tipo de método
PUT
de la API de REST.
Las unidades de cuota disponibles generales, como se explica en la tabla siguiente, se comparten entre estas categorías. Por ejemplo, el uso de toda la cuota en las operaciones de escritura significa que no queda ninguna cuota para otras operaciones. Cada operación consume una unidad de cuota específica, lo que le ayuda a realizar el seguimiento de la cuota restante para su uso posterior.
Operación | Costo unitario de cada solicitud |
---|---|
Escribir | 5 |
Leer | 1 1 |
Trabajo de ejecución prolongada: inferencia de soluciones | 5 |
Trabajo de larga duración: operación de granja de servidores | 5 |
Trabajo de ejecución prolongada: rasterización de imágenes | 2 |
Trabajo de ejecución prolongada: eliminación en cascada de una entidad | 2 |
Trabajo de larga duración: ingesta meteorológica | 1 |
Trabajo de ejecución prolongada: ingesta satélite | 1 |
1Se tiene en cuenta un costo unitario adicional para cada elemento devuelto en la respuesta cuando se recupera más de un elemento.
Límites de API para la versión Básica
En la tabla siguiente se enumeran las unidades disponibles totales por categoría para la versión Básica:
Operación | Período de tiempo de limitación | Restablecimiento de unidades después de cada ventana de tiempo |
---|---|---|
Escritura y lectura | Por un minuto | 25 000 |
Escritura y lectura | Por cinco minutos | 100 000 |
Escritura y lectura | Por un mes | 5,000,000 |
Larga duración | Por cinco minutos | 1000 |
Larga duración | Por un mes | 100 000 |
Límites de API para la versión estándar
La versión Estándar ofrece un aumento de cinco veces en la cuota de API al mes, en comparación con la versión Básica. Todos los demás límites de cuota permanecen sin cambios.
En la tabla siguiente se enumeran las unidades disponibles totales por categoría para la versión Estándar:
Operación | Período de tiempo de limitación | Restablecimiento de unidades después de cada ventana de tiempo |
---|---|---|
Escritura y lectura | Por un minuto | 25 000 |
Escritura y lectura | Por cinco minutos | 100 000 |
Escritura y lectura | Por un mes | 25 000 000 1 |
Larga duración | Por cinco minutos | 1000 |
Larga duración | Por un mes | 500 000 1 |
1Este límite es cinco veces el límite de la versión Básica.
Código de error
Cuando se alcanza este límite, recibirá el código de estado HTTP 429 Demasiadas solicitudes. En la respuesta se incluye el valor Retry-After que especifica el número de segundos que debe esperar (o estar en estado de suspensión) la aplicación antes de enviar la siguiente solicitud.
Si envía una solicitud antes de que transcurra el tiempo especificado en el valor de reintento, la solicitud no se procesará y se devolverá un nuevo valor de reintento. Una vez transcurrido el tiempo especificado, puede volver a realizar solicitudes a Azure Data Manager for Agriculture. Intentar establecer una conexión TCP o usar diferentes métodos de autenticación de usuario no omite estos límites, ya que son específicos de cada inquilino.
Preguntas más frecuentes
Si agoto la cuota de API asignada para las operaciones de escritura dentro de un período de tiempo por minuto, ¿puedo realizar correctamente solicitudes de operaciones de lectura en el mismo período de tiempo?
Los límites de cuota se comparten entre las categorías de operación enumeradas. El uso de la cuota completa para las operaciones de escritura no implica ninguna cuota restante para otras operaciones. En este artículo se detallan las unidades de cuota específicas consumidas para cada operación.
¿Cómo puedo calcular el número total de solicitudes correctas permitidas para un período de tiempo determinado?
El número total permitido de solicitudes de API correctas depende de la versión aprovisionada y del período de tiempo en el que realice solicitudes.
Por ejemplo, con la versión Estándar, puede realizar 25 000 (restablecimiento de unidades después de cada período de tiempo) / 5 (costo unitario para cada solicitud) = 5 000 API de operación de escritura dentro de un período de tiempo de un minuto. O bien, puede usar una combinación de 4 000 operaciones de escritura y 5 000 operaciones de lectura, lo que da como resultado 4 000 * 5 + 5 000 * 1 = 25 000 unidades de consumo totales.
Del mismo modo, para la versión Básica, puede realizar 5 000 000 (restablecimiento de unidades después de cada período de tiempo) / 1 (costo unitario para cada solicitud) = 5 000 000 API de operación de lectura dentro de un período de un mes.
¿Cuántos eventos de sensor pueden ingerir un cliente como número máximo?
El sistema permite un máximo de 100 000 ingestas de eventos por hora. Aunque los nuevos eventos se aceptan continuamente, puede haber un retraso en el procesamiento. El retraso puede significar que estos eventos no están disponibles inmediatamente para escenarios de salida en tiempo real junto con la ingesta.