- Introdução
- Sobre OData e referências
- Tipos enumerados
- Autenticando
- Criação de solicitações de API
- Permissões por endpoint
- Códigos de resposta
- Limites de taxa e otimização do uso de campos de dados grandes
- Definição do Swagger
- APIs do Orchestrator
- Solicitações de alertas
- Solicitações de ativos
- Solicitações de calendários
- Solicitações de ambientes
- Solicitações de pastas
- Solicitações de Tarefas Genéricas
- Solicitações de trabalhos
- Solicitações de bibliotecas
- Solicitações de licenças
- Solicitações de pacotes
- Solicitações de permissões
- Solicitações de espaços de trabalho pessoais
- Solicitações de processos
- Processar solicitações de política de retenção de dados
- Solicitações de itens de fila
- Solicitações da política de retenção de filas
- Solicitações de robôs
- Solicitações de funções
- Solicitações de agendamentos
- Solicitações de configurações
- Solicitações de bucket de armazenamento
- Solicitações de tarefas
- Solicitações de catálogos de tarefas
- Solicitações de formulários de tarefas
- Solicitações de tenants
- Solicitações de Transações
- Solicitações de usuários
- Solicitações de webhooks
Guia da API do Orchestrator
Limites de taxa e otimização do uso de campos de dados grandes
- Eles garantem um sistema previsível: saber o limite de chamada de API ajuda a projetar e manter seus aplicativos. Fornecem um ambiente previsível, minimizando surpresas devido a violações de limite inesperadas.
- Melhoram o desempenho: ao controlar o tráfego em nossos servidores, garantimos o desempenho ideal e respostas mais rápidas, melhorando significativamente sua experiência com o produto.
- Aumentam a segurança: os limites descritos abaixo atuam como uma camada adicional de segurança, protegendo seu sistema contra possíveis ameaças cibernéticas.
- Garantem um uso justo: nossos limites de taxa garantem uma alocação equitativa de recursos para todos os usuários e uma operação tranquila, mesmo durante períodos de pico de uso.
Os limites e as otimizações de campos de dados grandes descritos abaixo exigem alguns ajustes de sua parte, mas estamos confiantes de que eles trarão benefícios a longo prazo.
Esses são os limites que impomos:
Endpoint |
Limits |
Em vigor desde | Exemplos |
---|---|---|---|
|
|
Tenants Community, Canary e Enterprise: julho de 2024 |
|
|
|
Tenants Community, Canary e Enterprise: julho de 2024 |
|
|
100 solicitações de API/dia/tenant |
Community, Canary e Enterprise tenants: outubro de 2024 |
N/A |
| 100 solicitações de API/dia/tenant |
Community, Canary e Enterprise tenants: outubro de 2024 |
N/A |
|
100 solicitações de API/dia/tenant |
Community, Canary e Enterprise tenants: outubro de 2024 |
N/A |
|
100 solicitações de API/dia/tenant |
Community, Canary e Enterprise tenants: outubro de 2024 |
N/A |
1 O uso de não automação refere-se às chamadas de API originadas de integrações de API fora dos processos, como scripts do PowerShell e ferramentas de monitoramento de terceiros.
2 O uso de automação refere-se às chamadas de API provenientes das atividades Get Queue Items, Get Jobs e Orchestrator Http Request.
GET/odata/Jobs(<job_id>)
não é de taxa limitada.
Esses limites não se aplicam à adição de itens de fila e trabalhos de processamento. Dessa forma, não há impacto na adição de um item de fila, na remoção dele de uma fila, na configuração do seu status ou na inicialização e processamento de qualquer número de trabalhos.
Você pode verificar seu uso de API por mês ou por dia na guia Auditoria de API no nível do tenant na janela Monitoramento.
Cabeçalho |
Description |
Exemplo |
---|---|---|
|
Todas as solicitações além dos limites mencionados acima recebem uma resposta HTTP 429, que inclui esse cabeçalho. Ela exibe o número de segundos que você precisa esperar até que o ponto de extremidade esteja disponível novamente. |
Retry-After: 10 significa que o limite de taxa no ponto de extremidade expira em 10 segundos. Quaisquer novas tentativas dentro desses 10 segundos resultam em uma resposta 429.
|
|
O número de chamadas restantes |
X-RateLimit-Remaining: 30 significa que você tem 30 chamadas restantes no intervalo de tempo atual
|
Se o número de solicitações por minuto estiver abaixo de 10, ele é renderizado como 0.
As seguintes atividades são impactadas por esses limites:
- Get Job
- Get Queue Items
- Solicitação Http do Orchestrator (quando usada para chamar os pontos de extremidade
GET /odata/Jobs
ouGET /odata/QueueItems
)
Retry-after
, o que significa que executam novas tentativas automáticas de operações do Orchestrator. Certifique-se de sempre usar a versão mais recente das Atividades do sistema para se beneficiar disso.
Isso é o que recomendamos que você faça para garantir que você esteja em conformidade com nossos limites e aproveite-os ao máximo:
- Revise seus padrões de uso de API e as informações que você recupera de nossos pontos de extremidade do tipo
GetAll
mencionados anteriormente. - Ajuste sua frequência de chamadas de API e procedimentos de extração de dados para se alinhar a esses limites quando necessário.
- Use a opção Exportação de dados em tempo real do Insights para exportações em tempo real.
- Consulte as seções Exportação de trabalhos e Exportação de itens de fila para obter exemplos de como recuperar trabalhos e dados de itens de fila apenas para fins de relatório e arquivamento.
Importante:
- Esses pontos de extremidade são limitados a 100 solicitações/dia/tenant de API.
Depois que esse limite for excedido, um erro #4502 será exibido, afirmando que o limite diário por tenant foi atingido. O limite é redefinido às 00:00 UTC.
- Não use esses pontos de extremidade para recuperação de dados em tempo real.
- Esses pontos de extremidade são limitados a 100 solicitações/dia/tenant de API.
- Certifique-se de usar sempre a versão mais recente das Atividades do sistema.
- Entre em contato com seu gerente de conta ou nossa equipe de suporte se você tiver alguma dúvida ou precisar de mais esclarecimentos.
Esses alertas, disponíveis na seção Limites de taxa de API de suas configurações de alertas, informam quando os limites são excedidos e fornecem informações valiosas sobre o ponto de extremidade impactado.
- A taxa de solicitação excedeu o limite no último dia - Gravidade Warn:
- É enviado diariamente, no aplicativo e por email.
- Você está inscrito nele por padrão.
- Inclui o nome do ponto de extremidade para o qual o número de solicitações foi excedido.
- Inclui um link para a janela de monitoramento de auditoria de API no nível do tenant, focada na visualização diária. Detalhes...
- Requer a permissão Auditoria - Visualização.
- A taxa de solicitação excedeu o limite - Gravidade do Erro:
- É enviado a cada dez minutos, no aplicativo e por email.
- Sua inscrição está cancelada por padrão.
- Inclui o nome do ponto de extremidade para o qual o número de solicitações foi excedido.
- Inclui um link para a janela de monitoramento de Auditoria de API no nível do tenant, focada na visualização detalhada de 10 minutos. Detalhes...Observação: pode haver um atraso de 10 minutos entre o momento em que o limite é excedido e o tempo em que o alerta é enviado.
- Requer a permissão Auditoria - Visualização.
Cenários de alerta
Você é alertado nos seguintes cenários:
- Quando você excede 100 solicitações/minuto/tenant de API por meio de uso não automatizado.
- Quando você excede 1.000 solicitações/minuto/tenant de API por meio do uso de automação.
Os pontos de extremidade de API usados para recuperar listas de trabalhos e itens de fila podem ser problemáticos quando usados para monitoramento em tempo real e exportação de dados. Por exemplo:
-
Ao solicitar até 1.000 itens, com cada item no valor de até 1 MB de dados grandes, a resposta a uma única chamada de API pode ser de 1 GB. Como há intermediários que não permitem respostas desse tamanho, as solicitações falham.
-
Ao usar filtros complexos e, em seguida, paginar uma fila com vários milhões de itens de fila, as solicitações podem começar a esgotar o tempo após algumas dezenas de páginas. Isso se deve à quantidade de dados que precisam ser recuperados do banco de dados.
Jobs - GetAll
. Esses são os campos impactados:
Endpoint |
Campos omitidos |
O que você pode usar alternativamente |
Em vigor desde |
---|---|---|---|
|
|
|
Tenants Community e Canary: março de 2024 Tenants Enterprise: julho de 2024 |
GET /odata/Jobs
, por meio da API ou das atividades Get Jobs, Get Queue Itens ou Orchestrator HTTP Request, você precisa descobrir se está usando algum dos campos listados. Em caso afirmativo, esteja ciente de que o conteúdo desses campos será retornado como nulo.
Recomendamos que você teste processos em seus tenants Canary para avaliar o impacto.
GET/odata/QueueItems
é otimizado aplicando essas limitações de tamanho aos campos:
Campo |
Limite | Em vigor desde |
Como saber se você foi impactado |
Como resolver isso |
---|---|---|---|---|
Progresso |
1.048.576 caracteres |
> Tenants Community e Canary: abril de 2024 > Tenants Enterprise: maio de 2024 |
Uma mensagem de erro específica é retornada se os dados que você está tentando carregar excederem esses limites. |
Recomendamos que você use buckets de armazenamento e/ou armazenamento de blob do Data Service se precisar armazenar mais dados. |
104.857 caracteres |
Todos os tenants: setembro de 2024 | |||
AnalyticsData/Analytics |
5.120 caracteres |
> Tenants Community e Canary: junho de 2024 > Tenants Enterprise: setembro de 2024 | ||
OutputData/Output |
51.200 caracteres | |||
SpecificContent/SpecificData |
256.000 caracteres | |||
ProcessingException - Reason |
102.400 caracteres | |||
ProcessingException - Details |
102.400 caracteres |
Esses limites são calculados com base no estilo de codificação UTF-16, que é usado principalmente pelo SQL Server para armazenar dados.
As informações são armazenadas no SQL Server por meio de tipos de dados como NVARCHAR. Nesses tipos de dados, cada caractere, incluindo caracteres amplamente usados de idiomas como chinês, japonês e coreano, é armazenado usando 2 bytes. Isso pode ser enganoso quando você verifica a carga útil de dados usando o Notepad ou no UTF-8, pois esses exibem 1 byte por caractere (principalmente ASCII 0-127 abc123 etc).
Por exemplo, se você fosse armazenar um caractere chinês como 文 em um arquivo de texto com codificação UTF-8, ele seria armazenado como uma sequência de 3 bytes (E6 96 87), consumindo mais espaço de armazenamento. A diferença entre estilos de codificação torna o número de caracteres não confiável como um limite.
O filtro a seguir também é limitado para fins de desempenho:
Filtro |
Limite |
Em vigor desde |
Como saber se você foi impactado |
Como resolver isso |
---|---|---|---|---|
|
> Se você não usar o filtro
$top , receberá 100 registros por padrão.
> Se você usar o filtro
$top , receberá no máximo 100 registros. Qualquer coisa que exceda 100 dispara uma mensagem de erro 400 Bad Request .
|
> Tenants Community e Canary: junho de 2024 > Tenants Enterprise: setembro de 2024 |
Enterprise: pretendemos enviar uma notificação por email aos administradores se detectarmos o uso desse filtro em chamadas de API. No entanto, pedimos que você também fique de olho. |
Recomendamos que você modifique adequadamente sua lógica de uso de APIs ou processos se quiser exceder esse limite. |
Jobs
e QueueItems
:
- Consulte as seções Exportação de trabalhos e Exportação de itens de fila para obter exemplos de como recuperar dados de trabalhos e itens de fila.
- Use a opção de Exportação de dados em tempo real do Insights.
- Entre em contato com seu gerente de conta ou nossa equipe de suporte se os métodos anteriores não funcionarem para você.
Os limites de taxa e as alterações de campos de dados grandes não serão implementadas em ambientes locais.
Se você estiver usando o Orchestrator independente e estiver pensando em migrar para a nuvem, você pode usar os logs de solicitação do IIS para determinar a taxa de solicitação para os pontos de extremidade impactados. A análise depende de como você agrega os logs, para os quais você pode usar, por exemplo, o Microsoft Log Parser.
Para avaliar o impacto em campos de dados grandes, recomendamos testar seus processos em tenants Canary.