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á.
Adicionar regras a um gateway
As regras de gateway permitem que você controle o roteamento de tráfego e substitua as configurações de destino em seu gateway sem reimplantar alvos. Você cria pacotes de configuração que substituem o comportamento de um alvo e, em seguida, usa regras para controlar qual versão do pacote se aplica a qual tráfego. As regras também oferecem suporte ao roteamento de solicitações para destinos diferentes com base no caminho da solicitação ou na identidade do chamador.
Use as regras de gateway para atingir as seguintes metas:
-
Experimente as versões do pacote de configuração por meio de A/B testes
-
Fixar princípios específicos em uma versão do pacote de configuração para depuração
-
Encaminhe o tráfego para alvos específicos com base no caminho da solicitação ou na identidade do chamador
-
Defina um pacote ou destino de configuração padrão para todo o tráfego
Como as regras de gateway funcionam
Cada regra de gateway contém os seguintes componentes:
| Componente | Description |
|---|---|
|
Prioridade |
Um número inteiro de 1 a 1.000.000. Números mais baixos indicam maior precedência. Cada valor de prioridade deve ser exclusivo em um gateway. |
|
Condições (opcional) |
Critérios que determinam se a regra corresponde a uma solicitação. Uma regra sem condições funciona como uma regra geral que corresponde a todo o tráfego. |
|
Ações (obrigatórias) |
A ação a ser tomada quando a regra coincide. Você pode substituir pacotes de configuração, rotear para destinos específicos ou ambos. |
|
Descrição (opcional) |
Uma descrição em texto do propósito da regra. |
Resolução de regras
O gateway avalia as regras em ordem crescente de prioridade (primeiro diminua os números). O gateway resolve cada tipo de ação de forma independente usando a semântica da primeira partida.
A tabela a seguir mostra como o gateway resolve as regras para uma solicitação de amostra. Neste exemplo, a função de controle de qualidade envia uma solicitação para /my-target-canary/chat o.
| Prioridade | Condições | Ações | Solicitação de partidas? | Resultado |
|---|---|---|---|---|
|
100 |
Papel de QA |
|
Sim |
Resolve |
|
200 |
Caminho |
|
Sim |
Resolve para |
|
1000000 |
Nenhum (abrangente) |
|
Sim |
Ambos os tipos de ação já foram resolvidos. Ignorado. |
Resultado final: a solicitação usa a versão A do pacote e roteia para o. my-target-canary
dica
Deixe espaços entre os números prioritários (por exemplo, 100, 200, 300) para que você possa inserir regras posteriormente sem renumerar as regras existentes.
Condições
As condições determinam quais solicitações uma regra corresponde. Uma regra pode ter no máximo 2 condições. Uma regra sem condições corresponde a todo o tráfego.
O gateway oferece suporte aos seguintes tipos de condição:
- Diretores da partida
-
Combina as solicitações com base no principal IAM do chamador. A
anyOflista contém de 1 a 100 entradas. Cada entrada especifica umiamPrincipalcom os seguintes campos:-
arn— O ARN principal do IAM correspondente. -
operator(opcional) — O operador de comparação. Os valores válidos sãoStringEquals(padrão) eStringLike. UseStringLikepara correspondência de curingas.
-
- Caminhos de correspondência
-
Corresponde às solicitações com base no caminho da solicitação. A
anyOflista contém de 1 a 10 entradas. Cada entrada deve usar o formato/<targetName>/*, onde<targetName>corresponde ao nome de um destino HTTP existente no gateway. O alvo deve estar noReadyestado. AmatchPathscondição é suportada somente para gateways com destinos HTTP. Os seguintes prefixos de caminho reservado não são permitidos:/mcp,,,/a2a/responses,/converse./.well-known
Lógica de avaliação de condições
-
Dentro de um tipo de condição: o gateway usa a lógica OR. Uma solicitação corresponderá se atender a qualquer entrada na
anyOflista. -
Em todos os tipos de condição: o gateway usa a lógica AND. Se uma regra tiver ambos
matchPrincipalsematchPaths, a solicitação deverá corresponder a pelo menos uma entrada de cada tipo de condição.
Ações
As ações definem o que o gateway faz quando uma regra corresponde. Uma regra pode ter no máximo 2 ações.
O gateway oferece suporte aos seguintes tipos de ação:
- Substituições do pacote de configuração ()
configurationBundle -
Substitua o pacote de configuração aplicado ao tráfego correspondente.
-
staticOverride— Fixa todo o tráfego correspondente a uma versão específica do pacote de configuração. Especifique o ARN do pacote e o ID da versão. -
weightedOverride— Divide o tráfego entre duas versões do pacote de configuração. AtrafficSplitlista deve conter exatamente 2 entradas com pesos que somam 100. O pacote de configuração deve estar na mesma conta do gateway.
-
- Roteamento de destino ()
routeToTarget -
Rotas que combinam o tráfego com um alvo específico. O alvo deve usar o protocolo HTTP e estar no
Readyestado.-
staticRoute— Encaminha todo o tráfego correspondente a um alvo específico pelo nome. -
weightedRoute— Divide o tráfego entre dois alvos. AtrafficSplitlista deve conter exatamente 2 entradas com pesos que somam 100. Os nomes das entradas divididas de tráfego devem ser exclusivos.
-
Limites
A tabela a seguir lista os limites das regras de gateway.
| Recurso | Limite |
|---|---|
|
Regras por gateway |
20 |
|
Faixa de prioridade |
1 a 1.000.000 |
|
Condições máximas por regra |
2 |
|
Máximo de ações por regra |
2 |
|
|
100 |
|
|
10 |
|
|
Exatamente 2 |
|
|
1 a 99 |