Diretrizes de limitação da API para o Gerenciador de Dados do Microsoft Azure para Agricultura
A limitação restringe o número de solicitações para um serviço por um determinado período para evitar o uso excessivo dos recursos. A limitação da API REST no Gerenciador de Dados do Azure para Agricultura permite um desempenho mais consistente em um período para os clientes que chamam as APIs do serviço.
O Gerenciador de Dados do Azure para Agricultura pode lidar com um volume elevado de solicitações. Quando há um grande número de solicitações de poucos clientes, a limitação ajuda a manter o desempenho ideal e a confiabilidade para todos os clientes.
As limitações dependem da versão selecionada e dos recursos do produto que um cliente está usando. O Gerenciador de Dados do Azure para Agricultura dá suporte a duas versões:
- Standard: a versão que geralmente recomendamos.
- Básica: adequada para requisitos de protótipo.
Esses limites operam em três janelas de tempo (por um minuto, por cinco minutos e por um mês) para proteger contra aumentos repentinos no tráfego.
Este artigo mostra como acompanhar o número de solicitações que permanecem antes de atingir o limite e como responder ao atingir o limite. As limitações se aplicam a essas APIs.
Classificação das APIs
As APIs do Gerenciador de Dados do Azure para Agricultura se enquadram 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 de método
GET
da API REST para recuperar dados, incluindo APIs de pesquisa do tipo de métodoPOST
. - Operações de trabalho de execução longa: APIs de trabalho assíncronas de execução longa que usam o tipo de método
PUT
da API REST.
As unidades de cota total disponíveis, conforme explicado na tabela a seguir, são compartilhadas entre essas categorias. Por exemplo, usar a cota inteira em operações de gravação significa que não restará cota para outras operações. Cada operação consome uma unidade específica da cota, o que ajuda você a acompanhar a cota restante para uso adicional.
Operação | Custo unitário de cada solicitação |
---|---|
Gravar | 5 |
Ler | 1 1 |
Trabalho de execução longa: inferência da solução | 5 |
Trabalho de execução longa: operação agrícola | 5 |
Trabalho de execução longa: rasterização de imagem | 2 |
Trabalho de execução longa: exclusão em cascata de uma entidade | 2 |
Trabalho de execução longa: ingestão do clima | 1 |
Trabalho de execução longa: ingestão do satélite | 1 |
1Um custo unitário extra é levado em conta para cada item retornado na resposta ao recuperar mais de um item.
Limites da API da versão Básica
A tabela a seguir lista o total de unidades disponíveis por categoria na versão Básica:
Operação | Janela de tempo de limitação | As unidades são redefinidas após cada janela de tempo |
---|---|---|
Gravação/leitura | Por um minuto | 25,000 |
Gravação/leitura | Por cinco minutos | 100.000 |
Gravação/leitura | Por um mês | 5.000.000 |
Trabalho de execução longa | Por cinco minutos | 1000 |
Trabalho de execução longa | Por um mês | 100.000 |
Limites da API na versão Standard
A versão Standard oferece um aumento de cinco vezes na cota da API por mês, em comparação com a versão Básica. Todos os outros limites da cota permanecem inalterados.
A tabela a seguir lista o total de unidades disponíveis por categoria na versão Standard:
Operação | Janela de tempo de limitação | As unidades são redefinidas após cada janela de tempo |
---|---|---|
Gravação/leitura | Por um minuto | 25,000 |
Gravação/leitura | Por cinco minutos | 100.000 |
Gravação/leitura | Por um mês | 25.000.000 1 |
Trabalho de execução longa | Por cinco minutos | 1000 |
Trabalho de execução longa | Por um mês | 500.000 1 |
1Esse limite é cinco vezes o limite da versão Básica.
Código do erro
Quando você alcança o limite, recebe o código de status HTTP 429 Excesso de solicitações. A resposta inclui um valor Retry-After, que especifica o número de segundos que o aplicativo deve aguardar (ou ficar suspenso) antes de enviar a próxima solicitação.
Se você enviar uma solicitação antes que o valor de repetição seja decorrido, 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 Gerenciador de Dados do Azure para Agricultura. Tentar estabelecer uma conexão TCP ou usar diferentes métodos de autenticação de usuário não evita esses limites, pois eles são específicos de cada locatário.
Perguntas frequentes
Se eu esgotar totalmente a cota da API alocada para operações de gravação em uma janela de tempo por minuto, consigo fazer solicitações de operações de leitura na mesma janela de tempo?
Os limites de cota são compartilhados entre as categorias de operação listadas. Usar a cota inteira em operações de gravação significa que não restará cota para outras operações. Este artigo detalha as unidades de cota específicas consumidas em cada operação.
Como posso calcular o número total de solicitações bem-sucedidas permitidas em uma janela de tempo específica?
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 de cada solicitação) = 5.000 APIs de operação de gravação em 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 = total de 25.000 unidades de consumo.
Da mesma forma, na versão Básica, você pode executar 5.000.000 (unidades redefinidas após cada janela de tempo)/1 (custo unitário de cada solicitação) = 5.000.000 de APIs de operação de leitura em uma janela de tempo de um mês.
Qual é o máximo de eventos de sensor que um cliente pode ingerir?
O sistema permite no máximo 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 estarão disponíveis imediatamente em cenários de saída em tempo real juntamente com a ingestão.