As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Dimensões do limite de taxa
As chaves de dimensão determinam como o gateway agrupa o tráfego em intervalos de limite de taxa. Cada chave de dimensão faz referência a um valor do contexto da solicitação. O gateway resolve esses valores em tempo de execução para encontrar a entrada do limite de taxa correspondente.
Dimensões suportadas
| Chave de dimensão | Description | Valor de exemplo |
|---|---|---|
|
|
O nome do alvo que está sendo invocado. Resolvido a partir do caminho da solicitação. |
|
|
|
O nome totalmente qualificado da ferramenta que está sendo invocada, no formato. |
|
|
|
O identificador de modelo totalmente qualificado para alvos de inferência. |
|
|
|
Uma reivindicação extraída do token JWT do chamador. |
|
|
|
O ARN principal do IAM do chamador. |
|
|
|
A identidade de origem definida pelo chamador ao assumir uma função. |
|
O valor padrão (*)
As entradas de limite de taxa suportam o valor especial * como um padrão abrangente para uma dimensão.
-
Uma entrada com
*para uma dimensão significa “aplicar essa taxa a todos os valores dessa dimensão”. -
Se existir uma entrada mais específica para o valor real, a entrada específica terá precedência (a partida mais específica vence).
-
*cria intervalos independentes por entidade — cada valor distinto que corresponde obtém seu próprio intervalo de taxas na taxa configurada.
Trailing-only restrição para limites de taxa multidimensionais:
Quando um limite de taxa tem várias teclas de dimensão, só
pode aparecer nas posições finais. Se você usar na posição N, todas as posições subsequentes também devem ser*.
Por exemplo, comdimensionKeys: ["targetName", "toolName", "$.context.jwt.sub"]:
| Dimensões de entrada | Válido | Por que |
|---|---|---|
|
|
Sim |
Todas as posições são valores específicos. |
|
|
Sim |
Somente a última posição é |
|
|
Sim |
As posições finais são |
|
|
Sim |
Todas as posições são |
|
|
Não |
|
|
|
Não |
|
|
|
Não |
|
Como funciona a correspondência:
Quando uma solicitação chega, o gateway resolve os valores reais da dimensão e procura a entrada correspondente mais específica. Por exemplo, se os valores resolvidos forem["target1", "readData", "alice"], o gateway verificará as entradas nesta ordem:
-
["target1", "readData", "alice"]— correspondência exata (mais específica) -
["target1", "readData", "*"]— a última dimensão usa o padrão -
["target1", "*", "*"]— as duas últimas dimensões usam o padrão -
["*", "*", "*"]— totalmente padrão (menos específico)
A primeira partida vence.
dica
Use entradas específicas para entidades conhecidas de alto valor ou restritas e * entradas como níveis de taxa padrão para todo o resto.
Comportamento de resolução de dimensões
Quando o gateway avalia um limite de taxa, ele resolve cada chave de dimensão do contexto da solicitação:
-
Se uma chave de dimensão não puder ser resolvida a partir da solicitação (por exemplo,
toolNameem uma solicitação que não seja de ferramenta ou em uma declaração do JWT que não existe), o gateway ignora completamente esse limite de taxa. A solicitação não é limitada por esse limite de taxa. -
Somente o contexto validado é usado para resolução. As declarações do JWT são extraídas de tokens que foram validados pela configuração de autenticação do gateway. O contexto do IAM está disponível somente para SigV4-authenticated solicitações.
Limites compartilhados versus limites individuais
A combinação de chaves de dimensão e valores de entrada determina se o tráfego compartilha um único intervalo de taxa ou se cada entidade obtém seu próprio intervalo independente.
| Teclas de dimensão | Dimensões de entrada | Comportamento |
|---|---|---|
|
|
|
Todo o tráfego para |
|
|
|
Cada alvo recebe seu próprio bucket independente nessa taxa (por entidade). |
|
|
|
Cada chamador exclusivo recebe seu próprio bucket (limite individual por chamador). |
|
|
|
Cada chamador recebe seu próprio bucket, com o escopo definido. |
|
|
|
Cada combinação exclusiva de alvo e chamador tem seu próprio bucket. |
Atenção
Evite usar declarações JWT de alta cardinalidade ou ilimitadas como chaves de dimensão (por exemplo,$.context.jwt.jti, $.context.jwt.nonce ou IDs de solicitação). Isso cria um número ilimitado de faixas de tarifas, o que pode reduzir a eficácia da limitação de taxas. Use identificadores estáveis e limitadossub, como, ou tier em vez team disso.