Limitação de solicitação 2.0
Uma política de limitação de solicitação 2.0 limita o número de vezes que uma API pode ser chamada dentro de um período de tempo específico. Há suporte para limitação baseada em parâmetros, básica e excluída.
- Limitação básica
   
Limitar as solicitações por API, usuário, credencial ou endereço IP de origem. Essa função é equivalente a uma política de limitação de solicitações tradicional (consulte Limitação de solicitação), mas é incompatível com ela.
 - Limitação baseada em parâmetros
   
Limitar as solicitações com base em cabeçalhos, parâmetro de caminho, método, cadeias de consulta ou parâmetros do sistema.
 - Limitação excluída
   
Limitar as solicitações com base em credenciais ou locatários específicos.
 
 
  Se o gateway não oferecer suporte a essa política, entre em contato com o suporte técnico para atualizar o gateway para a versão mais recente.
Diretrizes de uso
- Uma política tradicional de limitação de solicitações torna-se inválida se uma política de limitação de solicitações 2.0 estiver vinculada à mesma API que a tradicional.
 - Você pode definir um máximo de 100 regras de limitação baseadas em parâmetros. O nome do parâmetro tem no máximo 32 caracteres.
 - O conteúdo da política não pode exceder 65.535 caracteres.
 
Descrição do parâmetro
| 
        Parâmetro  | 
      
        Descrição  | 
     
|---|---|
| 
        Throttling  | 
      
        É recomendada a limitação de alto desempenho. 
  | 
     
| 
        Policy Type  | 
      |
| 
        Period  | 
      
        Por quanto tempo você deseja limitar o número de chamadas de API. Este parâmetro pode ser usado em conjunto com os seguintes parâmetros: 
  | 
     
| 
        Max. API Requests  | 
      
        O número máximo de vezes que cada API vinculada pode ser chamada dentro do período especificado. Este parâmetro deve ser usado em conjunto com o Period.  | 
     
| 
        Max. User Requests  | 
      
        O número máximo de vezes que cada API vinculada pode ser chamada por um usuário dentro do período especificado. Para APIs com autenticação de IAM, a limitação é baseada em um ID de projeto; para APIs com autenticação de aplicação, a limitação é baseada em um ID de conta. Para obter detalhes sobre o ID da conta e o ID do projeto, consulte a descrição sobre Excluded Tenants nesta tabela. 
  | 
     
| 
        Max. Credential Requests  | 
      
        O número máximo de vezes que cada API vinculada pode ser chamada por uma credencial dentro do período especificado. Esse limite se aplica apenas a APIs acessadas por meio de autenticação de aplicação. 
  | 
     
| 
        Max. IP Address Requests  | 
      
        O número máximo de vezes que cada API vinculada pode ser chamada por um endereço IP dentro do período especificado. 
  | 
     
| 
        Parameter-based Throttling  | 
      
        Ative ou desative a limitação baseada em parâmetros. Depois que essa função é ativada, as solicitações de API são limitadas com base nos parâmetros que você definiu.  | 
     
| 
        Parameters  | 
      
        Defina parâmetros para correspondência de regras. 
  | 
     
| 
        Rules  | 
      
        Defina regras de limitação. Uma regra consiste em condições, uma limitação de solicitações de API e um período. Para adicionar mais regras, clique em Add Rule. 
 Por exemplo, configure a limitação baseada em parâmetro da seguinte forma: adicione o parâmetro Host e especifique a localização como header; adicione a condição Host = www.abc.com e defina o limite de limitação como 10 e o período como 60s. Para APIs cujo parâmetro Host no cabeçalho da solicitação é igual a www.abc.com, elas não podem ser chamadas novamente uma vez chamadas 10 vezes em 60s.  | 
     
| 
        Excluded Throttling  | 
      
        Ative ou desative a limitação excluída. Depois que essa função é ativada, os limites de limitação para locatários excluídos e credenciais substituem Max. User Requests e Max. Credential Requests definidas na área Basic Throttling.  | 
     
| 
        Excluded Tenants  | 
      
        Tenant ID: um ID de conta ou um ID de projeto. 
 Threshold: o número máximo de vezes que um locatário específico pode acessar uma API dentro do período especificado. O limite não pode exceder o valor de Max. API Requests na área Basic Throttling.  | 
     
| 
        Excluded Credentials  | 
      
        Selecione uma credencial e especifique o número máximo de vezes que a credencial pode acessar uma API dentro do período especificado. O limite não pode exceder o valor de Max. API Requests na área Basic Throttling.  | 
     
Exemplo de script
{
  "scope": "basic",
  "default_interval": 60,
  "default_time_unit": "second",
  "api_limit": 100,
  "app_limit": 50,
  "user_limit": 50,
  "ip_limit": 20,
  "specials": [
    {
      "type": "app",
      "policies": [
        {
          "key": "e9230d70c749408eb3d1e838850cdd23",
          "limit": 10
        }
      ]
    },
    {
      "type": "user",
      "policies": [
        {
          "key": "878f1b87f71c40a7a15db0998f358bb9",
          "limit": 10
        }
      ]
    }
  ],
  "algorithm": "counter",
  "parameters": [
    {
      "id": "3wuj354lpptv0toe0",
      "value": "reqPath",
      "type": "path",
      "name": "reqPath"
    },
    {
      "id": "53h7e7j11u38l3ocp",
      "value": "method",
      "type": "method",
      "name": "method"
    },
    {
      "id": "vv502bnb6g40td8u0",
      "value": "Host",
      "type": "header",
      "name": "Host"
    }
  ],
  "rules": [
    {
      "match_regex": "[\"Host\",\"==\",\"www.abc.com\"]",
      "rule_name": "u8mb",
      "time_unit": "second",
      "interval": 2,
      "limit": 5
    }
  ]
}
 
    
      