Tous les produits
Search
Centre de documentation

API Gateway:Traffic-tag

Dernière mise à jour :Sep 19, 2026

Le plug-in traffic-tag étiquette le trafic des requêtes en ajoutant des en-têtes spécifiques, selon un poids ou le contenu de la requête. Définissez des règles à logique complexe pour déterminer l'étiquetage du trafic.

Attributs d'exécution

Étape d'exécution du plug-in : default stage. Priorité d'exécution du plug-in : 400.

Champs

Le tableau suivant décrit les champs de ce plug-in.

Champ

Type

Valeur par défaut

Obligatoire

Description

conditionGroups

array of object

-

Non

Les groupes de conditions basés sur le contenu. Pour plus de détails, consultez la configuration de conditionGroups.

weightGroups

array of object

-

Non

Les groupes de conditions basés sur le poids. Pour plus de détails, consultez la configuration de weightGroups.

defaultTagKey

string

-

Non

La clé de tag par défaut. Utilisée si aucune condition n'est satisfaite. Effective uniquement si defaultTagVal est également configuré.

defaultTagVal

string

-

Non

La valeur de tag par défaut. Utilisée si aucune condition n'est satisfaite. Effective uniquement si defaultTagKey est également configuré.

Configuration de conditionGroups

Le tableau suivant décrit les champs de conditionGroups.

Champ

Type

Valeur par défaut

Obligatoire

Description

headerName

string

-

Oui

Nom de l'en-tête HTTP à ajouter ou modifier.

headerValue

string

-

Oui

Valeur de l'en-tête HTTP.

logic

string

-

Oui

Relation logique entre les conditions : and ou or. Doit être en minuscules.

conditions

array of object

-

Oui

Conditions d'étiquetage.

Le tableau suivant décrit les champs de conditions.

Champ

Type

Valeur par défaut

Obligatoire

Description

conditionType

string

-

Oui

Type de condition : header, parameter ou cookie.

key

string

-

Oui

Mot-clé de la condition.

operator

string

-

Oui

Opérateur : equal, not_equal, prefix, in, not_in, regex ou percentage.

value

array of string

-

Oui

Valeur de la condition. Plusieurs valeurs sont prises en charge uniquement avec les opérateurs in ou not_in.

Remarque

Si l'operator est regex, le moteur d'expressions régulières RE2 est utilisé. Pour plus d'informations, consultez la documentation officielle de RE2.

Configuration de weightGroups

Le tableau suivant décrit les champs de weightGroups.

Champ

Type

Valeur par défaut

Obligatoire

Description

headerName

string

-

Oui

Nom de l'en-tête HTTP à ajouter ou modifier.

headerValue

string

-

Oui

Valeur de l'en-tête HTTP.

weight

integer

-

Oui

Poids du trafic en pourcentage.

Opérateurs

Opérateur

Description

equal

Correspondance si la valeur est exactement égale à la valeur spécifiée.

not_equal

Correspondance si la valeur diffère de la valeur spécifiée.

prefix

Correspondance si la valeur commence par la valeur spécifiée.

in

Correspondance si la valeur figure dans la liste spécifiée.

not_in

Correspondance si la valeur ne figure pas dans la liste spécifiée.

regex

Correspondance si la valeur correspond à l'expression régulière spécifiée.

percentage

Correspondance si hash(get(key)) % 100 < value est vrai.

Remarque

L'opérateur percentage et le champ weight diffèrent sur les points suivants :

  • percentage : Évalue une expression conditionnelle basée sur un pourcentage et une paire clé-valeur spécifiés. Les résultats sont idempotents : une paire clé-valeur correspondante produit toujours le même résultat lors des évaluations suivantes.

  • weight : Définit la proportion de trafic routée vers différents chemins. Contrairement à percentage, le poids distribue le trafic de manière aléatoire : la même requête peut être routée vers différents chemins lors d'évaluations successives.

Utilisez percentage pour une mise en correspondance conditionnelle déterministe ; utilisez weight pour une distribution aléatoire du trafic.

Exemples de configuration

Exemple 1 : Mise en correspondance basée sur le contenu

Dans cet exemple, si l'en-tête role d'une requête vaut user, viewer ou editor et que la requête contient foo=bar, l'en-tête x-mse-tag: gray est ajouté. Si aucune condition n'est satisfaite, l'en-tête x-mse-tag: base est ajouté, comme défini par defaultTagKey et 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

Exemple 2 : Mise en correspondance basée sur le poids

Dans cet exemple, une requête a 30 % de chances d'être étiquetée avec x-mse-tag: gray, 30 % de chances d'être étiquetée avec x-mse-tag: blue et 40 % de chances de ne pas être étiquetée.

# 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