Limites de taxa
Visão geral
Seja um token distribuído por meio do Portal do desenvolvedor, concessão OAuth ou do back-end de contas que serve aos aplicativos do próprio Frame.io, **todas as chamadas de API ao Frame.io têm limites de taxa.**Os limites de taxa se aplicam a todas as solicitações de API de um usuário (independentemente de qual token ou método de autenticação é usado), são esgotados e reabastecidos progressivamente e são refletidos nos cabeçalhos de resposta de cada solicitação feita à API do Frame.io.Cada ponto de acesso é configurado com seus próprios limites, que variam de até 10 solicitações/minuto a até 100 solicitações/segundo.As solicitações que excederam o limite de taxa para um ponto de acesso específico recebem um erro HTTP 429 em resposta.
Esgotamento e reabastecimento
A API do Frame.io usa uma estratégia de leaky bucket de limitação de taxa progressiva, na qual os limites são atualizados gradualmente durante a janela de tempo definidaEm outras palavras, não há conceito de corte rígido após o qual os limites são atualizados para um recurso específico (ou seja, estratégias de aplicação de “janela fixa” e “janela deslizante”).Em vez disso, os limites restantes são constantemente atualizados em um ritmo relativo ao limite e à janela de tempo de um recurso.
Backoff exponencial
Nossa estratégia recomendada para gerenciar limites de taxa geralmente é chamada de “backoff exponencial”.
Resumindo:
- Ao receber um erro
429, pause por um período (normalmente um segundo) - Se outro erro
429for recebido, aumente exponencialmente o período de espera até que a função normal seja retomada
Cabeçalhos
As respostas às solicitações de API sempre incluem os três cabeçalhos a seguir que devem ser utilizados para limitar suas solicitações de saída:
Exemplo
O exemplo a seguir é da resposta para GET v2/assets/:id/children, para buscar os ativos filhos de uma raiz de projeto, pasta ou pilha de versões.O limite para esse caminho é de 40 solicitações por 60.000 ms (um minuto), e restam 39 solicitações após uma ter sido feita.
Detalhes
Os limites de taxa variam muito entre os caminhos de recursos na API do Frame.io.Abaixo estão alguns detalhes selecionados, expressos para facilitar a leitura como recurso e ação (por exemplo, “Ativos — Atualizar” em vez de PUT /assets/:id).
Como regra geral, os caminhos de recursos que criam novos dados são limitados a 100 chamadas por minuto ou menos, e os caminhos de recursos que buscam listas de ativos são limitados a 200 chamadas por minuto.