Diretrizes de limitação de API para o Azure Data Manager for Agriculture
A limitação limita o número de solicitações a um serviço em um período de tempo para evitar o uso excessivo de recursos. A limitação da API REST no Azure Data Manager for Agriculture permite um desempenho mais consistente dentro de um período de tempo para os clientes que chamam as APIs do serviço.
O Azure Data Manager for Agriculture pode lidar com um grande volume de solicitações. Se ocorrer um grande número de solicitações de alguns clientes, a limitação ajuda a manter o desempenho e a confiabilidade ideais para todos os clientes.
Os limites de limitação dependem da versão selecionada e dos recursos do produto que um cliente está usando. O Azure Data Manager for Agriculture suporta duas versões distintas:
- Padrão: A versão que geralmente recomendamos.
- Básico: Adequado para requisitos de prototipagem.
Esses limites operam dentro de três janelas de tempo (por um minuto, por cinco minutos e por um mês) para proteger contra picos repentinos de tráfego.
Este artigo mostra como controlar o número de solicitações que permanecem antes de atingir o limite e como responder quando você atingir o limite. Os limites de limitação aplicam-se a essas APIs.
Classificação das APIs
As APIs do Azure Data Manager for Agriculture dividem-se em três categorias principais:
- Operações de gravação: APIs que usam métodos de API REST como
PATCH
,POST
eDELETE
para alterar dados. - Operações de leitura: APIs que usam o tipo
GET
de método de API REST para recuperar dados, incluindo APIs de pesquisa do tipoPOST
de método. - Operações de trabalho de longa execução: APIs de trabalho assíncrono de longa execução que usam o tipo
PUT
de método de API REST.
As unidades de quota globais disponíveis, tal como explicado no quadro seguinte, são partilhadas entre estas categorias. Por exemplo, usar toda a cota em operações de gravação significa que não há cota restante para outras operações. Cada operação consome uma unidade específica de cota, o que ajuda a rastrear a cota restante para uso posterior.
Operação | Custo unitário para cada pedido |
---|---|
Escrita | 5 |
Lida | 1 1 |
Trabalho de longa duração: inferência de solução | 5 |
Trabalho de longa duração: operação do farm | 5 |
Trabalho de longa duração: rasterização de imagens | 2 |
Trabalho de longa duração: exclusão em cascata de uma entidade | 2 |
Trabalho de longa duração: ingestão de intempéries | 1 |
Trabalho de longa duração: ingestão por satélite | 1 |
1 Um custo unitário extra é levado em conta para cada item devolvido na resposta quando você está recuperando mais de um item.
Limites da API para a versão Basic
A tabela a seguir lista o total de unidades disponíveis por categoria para a versão Basic:
Operação | Janela de tempo de limitação | Unidades redefinidas após cada janela de tempo |
---|---|---|
Escrever/ler | Por um minuto | 25.000 |
Escrever/ler | Por cinco minutos | 100.000 |
Escrever/ler | Por um mês | 5,000,000 |
Trabalho de longa duração | Por cinco minutos | 1000 |
Trabalho de longa duração | Por um mês | 100.000 |
Limites da API para a versão Standard
A versão Standard oferece um aumento de cinco vezes na cota de API por mês, em comparação com a versão Basic. Todos os outros limites de quota permanecem inalterados.
A tabela a seguir lista o total de unidades disponíveis por categoria para a versão Standard:
Operação | Janela de tempo de limitação | Unidades redefinidas após cada janela de tempo |
---|---|---|
Escrever/ler | Por um minuto | 25.000 |
Escrever/ler | Por cinco minutos | 100.000 |
Escrever/ler | Por um mês | 25.000.000 1 |
Trabalho de longa duração | Por cinco minutos | 1000 |
Trabalho de longa duração | Por um mês | 500.000 1 |
1 Este limite é cinco vezes o limite da versão Basic.
Código de erro
Quando você atinge o limite, você recebe o código de status HTTP 429 Muitas solicitações. A resposta inclui um valor Retry-After que especifica o número de segundos que seu aplicativo deve aguardar (ou suspender) antes de enviar a próxima solicitação.
Se você enviar uma solicitação antes do valor de repetição expirar, sua solicitação não será processada e um novo valor de repetição será retornado. Após o tempo especificado, você pode fazer solicitações novamente ao Azure Data Manager for Agriculture. Tentar estabelecer uma conexão TCP ou usar métodos de autenticação de usuário diferentes não ignora esses limites, porque eles são específicos para cada locatário.
Perguntas mais frequentes
Se eu esgotar a cota de API alocada inteiramente para operações de gravação dentro de uma janela de tempo por minuto, posso fazer solicitações com êxito para operações de leitura dentro da mesma janela de tempo?
Os limites de cota são compartilhados entre as categorias de operação listadas. Usar a cota inteira para operações de gravação implica em nenhuma cota restante para outras operações. Este artigo detalha as unidades de cota específicas consumidas para cada operação.
Como posso calcular o número total de solicitações bem-sucedidas permitidas para uma determinada janela de tempo?
O número total permitido de solicitações de API bem-sucedidas depende da versão provisionada e da janela de tempo na qual você faz solicitações.
Por exemplo, com a versão Standard, você pode fazer 25.000 (unidades redefinidas após cada janela de tempo) / 5 (custo unitário para cada solicitação) = 5.000 APIs de operação de gravação dentro de uma janela de tempo de um minuto. Ou você pode usar uma combinação de 4.000 operações de gravação e 5.000 operações de leitura, o que resulta em 4.000 * 5 + 5.000 * 1 = 25.000 unidades totais de consumo.
Da mesma forma, para a versão Basic, você pode executar 5.000.000 (unidades redefinidas após cada janela de tempo) / 1 (custo unitário para cada solicitação) = 5.000.000 APIs de operação de leitura dentro de uma janela de tempo de um mês.
Quantos eventos de sensor um cliente pode ingerir como o número máximo?
O sistema permite um máximo de 100.000 ingestões de eventos por hora. Embora novos eventos sejam continuamente aceitos, pode haver um atraso no processamento. O atraso pode significar que esses eventos não estão imediatamente disponíveis para cenários de saída em tempo real ao lado da ingestão.