# Paramètres du générateur de sous-expression

Le générateur de sous-expression permet de générer des conditions de règles complexes issues de sous-expressions en utilisant AND, OR, NOT et le regroupement mis entre parenthèses. Le générateur de règles valide la règle lorsque des modifications sont appliquées, il vous informe également de la non-concordance des parenthèses mais aussi des opérateurs logiques non pris en charge.

Pour afficher cette page, cliquez sur Serveurs > Type de serveur > Serveurs Web > nom_serveur_Web > Intelligent Management > Spécification de trace > Générateur de sous-expression.

## Opérateur logique

La liste suivante répertorie les choix d'opérateur logique :

Tableau 1. Opérateur logique de trace
Opérateur | Description
--- | ---
`OR` | Opérateur logique `OR`.
`AND` | Opérateur logique `AND`.
`NOT` | Opérateur logique `NOT`.

## Sélectionner un opérande

L'opérande fait partie de la règle de classification que l'environnement d'exécution utilise pour mettre en correspondance une règle avec un travail. Par exemple, si vous spécifiez un type de protocole égal à `HTTP`, l'environnement d'exécution recherche un travail dont le type de protocole correspond à `HTTP`. La liste suivante contient des choix d'opérandes :

Tableau 2. Opérandes de requête HTTP
Opérande | Syntaxe | Description
--- | --- | ---
Hôte virtuel | `hôte_virtuel` | Hôte virtuel cible de la requête, utilisé pour configurer des applications Web avec un nom d'hôte spécifique.
Port virtuel | `valeur_numérique` | Port virtuel cible de la requête, utilisé pour configurer des applications Web avec un port spécifique.
URI | `uri` | identificateur URI Facilite l'identification du chemin de la requête : si l'URL est http://host:port/path?p1=v1, le chemin est `path`.
ID utilisateur | `ID_utilisateur` | Renvoie l'ID de l'utilisateur authentifié ayant envoyé la requête.
ID groupe | `ID_groupement` | Renvoie la liste des noms de groupes de l'utilisateur authentifié ayant envoyé la requête.
Nom du paramètre de requête de la demande | `queryparm$<nom>` | Nom et valeur d'en-tête. Par exemple, l'expression `queryparm$timezone='EST'` teste une demande permettant de vérifier si elle contient un paramètre de requête HTTP nommé `timezone` associé à une valeur `EST`. Pour vérifier la présence ou l'absence d'un paramètre de requête, utilisez l'une des expressions suivantes :
    queryparm$timezone IS NOT NULL
    queryparm$timezone IS NULL
Nom d'en-tête de la demande | `header$<nom>` | Nom et valeur d'en-tête. Par exemple, l'expression `header$Host='localhost'` teste une demande pour voir si elle contient un en-tête d'hôte HTTP associé à la valeur `localhost`. Pour vérifier la présence ou l'absence de l'en-tête d'hôte, utilisez l'une des expressions suivantes :
    header$Host IS NOT NULL
    header$Host IS NULL
Nom d'en-tête du cookie | `cookie$<nom>` | Nom d'un cookie. Par exemple, l'expression `cookie$My_Cookie_Name='My_Cookie_Value'` teste une requête pour déterminer si elle contient un cookie nommé `My_Cookie_Name` associé à la valeur `My_Cookie_Value`. Pour vérifier la présence ou l'absence d'un cookie donné, utilisez l'une des expressions suivantes :
    cookie$MyCookieName IS NOT NULL
    cookie$MyCookieName IS NULL
Méthode HTTP | `HTTPMethod` | Méthode HTTP de la requête. Les valeurs possibles sont POST, GET, PUT et DELETE.
Hôte client | `clienthost` | Nom d'hôte qualifié complet du client. Il s'agit de la valeur du nom d'hôte de la commande IP (Internet Protocol). Cet opérande ne prend pas en charge les opérateurs numériques tels que `>, >=, <, <=`.
Client IPV4 | `clientipv4` | clientipv4 – Adresse IP du client au format Internet Protocol version 4 (IPv4) à quatre éléments séparés par des points `n.n.n.n`.
Client IPV6 | `clientipv6` | Adresse Internet Protocol version 6 (IPv6) 128 bits du type `x:x:x:x:x:x:x:x` conforme au protocole RFC 1924 de l'ordinateur client.
Hôte serveur | `serverhost` | Nom d'hôte qualifié complet du serveur. Cet opérande ne prend pas en charge les opérateurs numériques tels que `>, >=, <, <=`.
Serveur IPV4 | `serveripv4` | Adresse IP de l'ordinateur serveur au format IPv4 à quatre éléments séparés par des points `n.n.n.n`.
Serveur IPV6 | `serveripv6` | Adresse IPv6 128 bits du type `x:x:x:x:x:x:x:x` conforme au document RFC 1924 de l'ordinateur serveur.
Port | `port` | Port d'écoute sur lequel la demande a été reçue.
Protocole | `protocol` | Protocole de communication qui transmet la requête. Les protocoles actuellement pris en charge sont HTTP, HTTPS, SOAP et SOAPS.
Heure | `time` | Permet de définir la date et l'heure de la journée à laquelle une requête spécifique doit être traitée. Comporte deux zones facultatives : `Heure de début` et `Heure de fin`. Si une requête est reçue en dehors du créneau défini, elle n'est pas traitée. Le format des zones Heure de début et Heure de fin est le suivant : `jour_de_la_semaine/jour_du_mois/mois/année::heure:minute:seconde`. Par exemple, "mardi 11 avril 2007 à 13:03:45" est indiqué sous la forme suivante : Mar/11/Avr/2007::13:03:45 Le caractère générique * peut être utilisé dans toutes les zones. Par exemple, le 1er de chaque mois est indiqué sous la forme `*/1`. Les valeurs du `jour_de_la_semaine` sont Sun, Mon, Tue, Wed, Thu, Fri, Sat et les valeurs du `jour_du_mois` vont de 1 à 31. La valeur `mois` est une valeur non numérique représentant les douze mois : Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. La valeur `année` est constituée des quatre chiffres de l'année. par exemple : 2007. La valeur de l'`heure` est l'heure du jour au format 24 heures. Par exemple, 8 h est représenté par ::8. Les `minutes` et les `secondes` sont exprimées par des entiers compris entre 0 et 59. La barre oblique (/) sépare les paramètres de date, ainsi que les deux points doubles (::), et les deux points simples (:) séparent les paramètres d'heure. Notez que le résultat booléen de la règle entière dans laquelle l'opérande `time` est utilisé détermine l'action de routage engagée.
Pourcentage | `percentage$<val>` | L'opérande de pourcentage a pour valeur `true` pour un pourcentage fixe du temps. Par exemple, `percentage$50` a pour valeur `true` 50 % du temps.
Augmentation progressive | `rampup$<heure_de_début>$<heure_de_fin>` | L'opérande `rampup` renvoie la valeur `true` pendant un pourcentage de temps variable. Il est toujours associé à la valeur `false` avant `<heure_début>` et à la valeur `true` avant `<heure_fin>`. Au fur et à mesure que l'heure progresse de l'`<heure_de_début>` vers l'`<heure_de_fin>`, il prend la valeur `true`, un pourcentage augmentant de façon linéaire. Le format de `<heure_début>` et `<heure_fin>` est `jour/mois/année::heure:mn:s`. où `jour` correspond au jour du mois, `mois` à l'un des douze mois : Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, `année` l'année représentée par 4 chiffres, `heure` l'heure exprimée par 2 chiffres sous le format 24 heures, et `min` et `sec` les valeurs d'heure et de secondes exprimées par 2 chiffres. Par exemple : `rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00` est parfois associé à la valeur `true` à 8 heures le 1er janvier 2007 et est toujours associé à la valeur `true` à 17 heures le même jour, une fois l'heure de fin atteinte progressivement.

## Opérateur

Entrez une valeur pour la sous-expression que vous désirez créer, compte tenu de l'opérateur sélectionné. Tous les opérateurs débouchent sur des valeurs booléennes. Les opérateurs ne sont pas sensibles à la casse : `AND` est équivalent à `AnD`.

Tableau 3. Opérateurs de spécification de trace
Opérateur | Description
--- | ---
L'opérateur Egal ignore la casse (EQUALSIGNORECASE) | Le signe Egal ignore l'opérateur de casse. La casse des chaînes est ignorée. `'ABC' EQUALSIGNORECASE 'abc'` renvoie true. `('ABC' = 'abc')` renvoie false.
N'est pas égal (< >) | L'opérateur N'est pas égal stipule que la valeur de l'opérande n'est pas égale à la valeur saisie.
Dans (IN) | `chaîne IN liste de chaînes` renvoie 'true' si la chaîne sur la gauche correspond exactement (avec respect de la casse) à une chaîne mentionnée à droite. Par exemple : ’adrian’ in `('keith','eric','kalyan','david', 'adrian and etc')` renvoie 'false'. `'adrian'` in `('tom','adrian')` renvoie 'true'. ’adrian’ in `('Tom','Adrian')` renvoie 'false'. `entier IN liste d'entiers` : `1` in `(1,2,3,4,5)` renvoie 'true'. `6` in `(1,2,3,4,5)` renvoie 'false'.
Similaire à (LIKE) | Canevas de recherche de valeurs d'opérande de chaîne. La valeur doit contenir le caractère générique (`%`) à la position où la correspondance de masque est censée commencer. Par exemple, l'expression
    host LIKE %blanca
permet de rechercher les occurrences du terme `blanca` et de tout autre terme se terminant par `blanca`, alors que l'expression :
    host LIKE blanca%
permet de rechercher les occurrences du terme `blanca` et tout autre terme commençant par `blanca`. L'expression
    host LIKE %blanca%
permet de rechercher les occurrences du terme `blanca` et de tout autre terme contenant la chaîne `blanca`.
Similaire à et ignorant la casse (LIKEIGNORECASE) | Cet opérateur exprime une recherche de correspondance de canevas pour des valeurs d'opérande de type chaîne. La casse des chaînes est ignorée.
N'est pas Null (IS NOT NULL) | Une validation de la requête indique que le paramètre demandé existe.
Concaténer (+) | Cet opérateur interprète `'abc'+'def'` comme `'abcdef'`.
Similaire et dans (LIKEIN) | Cet opérateur exprime `chaîne likein (chaîne1, chaîne2, chaîne3,...)`, renvoie 'true' si la chaîne à gauche de l'opérateur `likein` correspond à une ou plusieurs des chaînes (chaîneN).
Est Null (IS NULL) | Une validation de la requête indique que le paramètre demandé n'existe pas. Teste la présence d'un opérande avec une valeur `NULL`.
Egal à ( = ) | Cet opérateur d'égalité recherche une correspondance respectant la casse.
Supérieur à (>) | Prend la valeur du résultat logique standard.
Supérieur ou égal à (>=) | Prend la valeur du résultat logique standard.
Inférieur à (<) | Prend la valeur du résultat logique standard.
Inférieur ou égal à (<=) | Prend la valeur du résultat logique standard.
Compris entre (BETWEEN) | Utilisé avec `AND` pour sélectionner une plage de valeurs, la première valeur (la plus faible) et la dernière valeur (la plus élevée). Opèrent ensemble sur des nombres et des dates.

## Valeur

Selon l'opérateur que vous aurez choisi, saisissez une valeur pour la sous-expression que vous choisissez de créer.

## Générer une sous-expression

Générez la sous-expression issue de l'opérande, de l'opérateur et des valeurs que vous avez spécifiés.

## Ajouter à la fin

Cliquez pour ajouter à la case située dans le panneau des conditions.

Informations connexes :
Intelligent Management pour les plug-ins de serveur Web
Spécification de la fonction de trace
Propriété de plug-in Intelligent Management
Collection de propriétés Intelligent Management
Cellule distante du serveur Web Intelligent Management

Nom de fichier : uwve_tracerulebuilder.html