Limitação de taxa de REST API de entrada

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • Para evitar solicitações excessivas de REST API de entrada, defina regras que limitem o número de solicitações de REST API de entrada processadas por hora. Você pode criar regras para limitar solicitações de usuários específicos, usuários com funções específicas ou todos os usuários.

    Nota:
    À medida que as solicitações chegam a uma instância, cada nó mantém uma contagem de limite de taxa por usuário. A cada 30 segundos, a contagem é confirmada no banco de dados. Como resultado, uma regra de limite de taxa pode não entrar em vigor por até 30 segundos.

    Prioridade de limitação de taxa

    Se uma solicitação de REST API de entrada corresponder a várias regras de limite de taxa para o mesmo recurso, a prioridade de limitação de taxa será imposta da seguinte forma:
    • Conjunto de regras para Usuário único regras de substituição para Todos os usuários e regras para Usuários com função .
    • Conjunto de regras para Usuários com função regras de substituição para Todos os usuários .
    Neste exemplo, há quatro regras de limite de taxa para o mesmo recurso da REST API: OBTENHA /now/v2/table/incident :
    Regras de Limite de Taxa
    Estas regras de limite de taxa são aplicadas na seguinte ordem:
    1. Limitar incidentes por usuário Aplica-se ao usuário ITIL, que pode enviar até 10 solicitações por hora.
    2. Limitar incidentes por função de administrador de importação aplica-se a cada usuário com a função import_admin. Cada usuário com a função import_admin pode enviar até três solicitações por hora.
    3. Limitar incidentes por função itil aplica-se a cada usuário com a função itil. Cada usuário com a função itil pode enviar até cinco solicitações por hora.
    4. Limitar incidentes aplica-se a todos os usuários. Cada usuário pode enviar até duas solicitações por hora.

    Quando o usuário ITIL faz a solicitação OBTENHA /now/v2/table/incident , a solicitação corresponde aos critérios de três regras: Limitar incidentes , Limitar incidentes por função itil e Limitar incidentes por usuário . . Limitar incidentes por usuário a regra é aplicada porque tem precedência sobre as outras regras. Como resultado, o usuário ITIL pode enviar no máximo 10 solicitações por hora.

    Se um usuário tiver duas ou mais funções correspondentes aos critérios de várias regras de limitação de taxa para um recurso de REST API, a regra que permite o menor número de solicitações se aplicará às solicitações do usuário para o recurso. Para as regras de exemplo na figura acima, suponha que o usuário Abel Tuter tenha a função import_admin e a função itil. Quando Abel Tuter envia uma solicitação, ela atende aos critérios de ambos Limitar incidentes por função de administrador e Limitar incidentes por função itil regra. . Limitar incidentes por função de administrador a regra é aplicada porque permite o menor número de solicitações. Como resultado, Abel Tuter pode enviar no máximo três solicitações por hora.

    Cabeçalhos de resposta da REST API

    Você pode gerar solicitações de REST API de entrada usando Use o Explorador de REST API Ou um cliente HTTP, como Postman. Se a solicitação corresponder a uma regra de limite de taxa, vários cabeçalhos de resposta HTTP fornecerão informações sobre limitação de taxa:
    • Limite de Taxa X. exibe o número de solicitações permitidas por hora.
    • X-RateLimit-Redefinição Exibe a hora Unix até a próxima redefinição programada.
    • Regra Limit-RateLimit exibe o sys_id da regra de limite de taxa que está sendo aplicada.

      Cabeçalhos de resposta de limite de taxa

    Se uma solicitação for negada porque excede o limite de taxa, o sistema retornará um Tente novamente após cabeçalho de resposta, além dos cabeçalhos de resposta sobre limitação de taxa. . Tente novamente após o cabeçalho de resposta exibe o número de segundos após os quais você pode repetir a solicitação para evitar exceder o limite de taxa. A seguinte resposta de erro é retornada:
    {
        "error": {
            "message": "Rate limit exceeded",
            "detail": "Rate limit of 10 requests per hour for Table API exceeded"
        },
        "status": "failure"
    }

    O status de uma solicitação negada é 429 Muitas solicitações .

    Status de resposta REST 429 Excesso de solicitações