Todos os produtos
Search
Central de documentação

API Gateway:traffic-tag

Última atualização: Jun 27, 2026

O plug-in traffic-tag marca o tráfego de requisições adicionando cabeçalhos específicos com base em peso ou no conteúdo da requisição. É possível definir regras de lógica complexa para determinar como o tráfego será marcado.

Atributos de execução

Estágio de execução do plug-in: default stage. Prioridade de execução do plug-in: 400.

Campos

A tabela a seguir descreve os campos deste plug-in.

Campo

Tipo

Valor padrão

Obrigatório

Descrição

conditionGroups

array of object

-

Não

Grupos de condições baseados em conteúdo. Para mais detalhes, consulte as configurações de conditionGroups.

weightGroups

array of object

-

Não

Grupos de condições baseados em peso. Para mais detalhes, consulte as configurações de weightGroups.

defaultTagKey

string

-

Não

Chave de tag padrão. Utilizada quando nenhuma condição é correspondida. Só entra em vigor se defaultTagVal também estiver configurado.

defaultTagVal

string

-

Não

Valor de tag padrão. Utilizado quando nenhuma condição é correspondida. Só entra em vigor se defaultTagKey também estiver configurado.

Configurações de conditionGroups

A tabela abaixo detalha os campos em conditionGroups.

Campo

Tipo

Valor padrão

Obrigatório

Descrição

headerName

string

-

Sim

Nome do cabeçalho HTTP a ser adicionado ou modifique.

headerValue

string

-

Sim

Valor do cabeçalho HTTP.

logic

string

-

Sim

Relação lógica entre as condições: and ou or. Deve estar em minúsculas.

conditions

array of object

-

Sim

Condições de marcação.

Os campos presentes em conditions estão descritos na tabela seguinte.

Campo

Tipo

Valor padrão

Obrigatório

Descrição

conditionType

string

-

Sim

Tipo da condição: header, parameter ou cookie.

key

string

-

Sim

Palavra-chave da condição.

operator

string

-

Sim

Operador: equal, not_equal, prefix, in, not_in, regex ou percentage.

value

array of string

-

Sim

Valor da condição. Vários valores são suportados apenas quando o operador é in ou not_in.

Nota

Quando o operator é regex, utiliza-se o mecanismo de expressão regular RE2. Para mais informações, consulte a documentação oficial do RE2.

Configurações de weightGroups

Confira na tabela a seguir os campos de weightGroups.

Campo

Tipo

Valor padrão

Obrigatório

Descrição

headerName

string

-

Sim

Nome do cabeçalho HTTP a ser adicionado ou modifique.

headerValue

string

-

Sim

Valor do cabeçalho HTTP.

weight

integer

-

Sim

Peso do tráfego em porcentagem.

Operadores

Operador

Descrição

equal

Corresponde se o valor for exatamente igual ao valor especificado.

not_equal

Corresponde se o valor for diferente do valor especificado.

prefix

Corresponde se o valor começar com o valor especificado.

in

Corresponde se o valor estiver na lista especificada.

not_in

Corresponde se o valor não estiver na lista especificada.

regex

Corresponde se o valor atender à expressão regular especificada.

percentage

Corresponde se hash(get(key)) % 100 < value for verdadeiro.

Nota

O operador percentage e o campo weight diferem nos seguintes aspectos:

  • percentage: Avalia uma expressão condicional com base em uma porcentagem e um par chave-valor especificados. Os resultados são idempotentes: um par chave-valor correspondente sempre produz o mesmo resultado em avaliações subsequentes.

  • weight: Define a proporção de tráfego roteado para diferentes caminhos. Ao contrário de percentage, o peso distribui o tráfego aleatoriamente: a mesma requisição pode ser roteada para caminhos diferentes em avaliações distintas.

Utilize percentage para correspondência determinística de condições; use weight para distribuição aleatória de tráfego.

Exemplos de configuração

Exemplo 1: correspondência baseada em conteúdo

Neste exemplo, se o cabeçalho role de uma requisição for user, viewer ou editor e a requisição contiver foo=bar, o cabeçalho x-mse-tag: gray será adicionado. Caso nenhuma condição seja atendida, o sistema adiciona o cabeçalho x-mse-tag: base, conforme definido por defaultTagKey e defaultTagVal.

defaultTagKey: x-mse-tag
defaultTagVal: base
conditionGroups:
  - headerName: x-mse-tag
    headerValue: gray
    logic: and
    conditions:
      - conditionType: header
        key: role
        operator: in
        value:
          - user
          - viewer
          - editor
      - conditionType: parameter
        key: foo
        operator: equal
        value:
        - bar

Exemplo 2: correspondência baseada em peso

Neste cenário, uma requisição tem 30% de chance de ser marcada com x-mse-tag: gray, 30% de chance de receber a marca x-mse-tag: blue e 40% de chance de não ser marcada.

# The total weight is 100. The weight value 40, which is not configured, indicates that no header is added.
weightGroups:
  - headerName: x-mse-tag
    headerValue: gray
    weight: 30
  - headerName: x-mse-tag
    headerValue: blue
    weight: 30