# Nastavení tvůrce dílčích výrazů

Pomocí tvůrce dílčích výrazů je možné sestavovat z podvýrazu podmínky komplexních pravidel pomocí operátorů AND, OR, NOT a seskupování do závorek. Když změny použijete, nástroj pro tvorbu pravidel ověří pravidlo a upozorní vás na nesoulad mezi kulatými závorkami a nepodporovanými logickými operátory.

Chcete-li zobrazit tuto stránku, klepněte na volbu Servery > Typ serveru > Webové servery > název_webového_serveru > Intelligent Management > Specifikace trasování > Tvůrce dílčích výrazů.

## Logický operátor

Následující seznam obsahuje volby logických operátorů:

Tabulka 1. Logický operátor trasování
Operátor | Popis
--- | ---
`OR` | Logický operátor `OR`.
`AND` | Logický operátor `AND`.
`NOT` | Logický operátor `NOT`.

## Vybrat operand

Operand je součástí klasifikačního pravidla, které běhové prostředí používá k přiřazení pravidla k úloze. Pokud například určíte typ protokolu roven `HTTP`, běhové prostředí vyhledá úlohu, která má typ protokolu `HTTP`. Následující seznam obsahuje volby operandů:

Tabulka 2. Operandy požadavků HTTP
Operand | Syntaxe | Popis
--- | --- | ---
Virtuální hostitel | `virtualhost` | Cíl virtuálního hostitele požadavku použitý ke konfiguraci webových aplikací pro určitý název hostitele.
Virtuální port | `číselná hodnota` | Cíl virtuálního portu požadavku použitý ke konfiguraci webových aplikací pro určitý port.
URI | `uri` | Identifikátor URI (Uniform Resource Identifier) Pomáhá identifikovat cestu požadavku: pokud adresa URL je http://host:port/path?p1=v1, pak cesta je `path`.
Jméno uživatele | `userid` | Vrátí ID pro ověřeného uživatele, který odeslal požadavek.
ID skupiny | `groupingid` | Vrátí seznam názvů skupin pro ověřeného uživatele, který odeslal požadavek.
Vyžádat název parametru dotazu | `queryparm$<name>` | Název a hodnota záhlaví. Například výraz `queryparm$timezone='EST'` testuje, zda požadavek obsahuje název parametru dotazu HTTP nazvaný `timezone` s hodnotou `EST`. Chcete-li otestovat přítomnost či nepřítomnost parametru dotazu, použijte jeden z následujících způsobů:
    queryparm$timezone IS NOT NULL
    queryparm$timezone IS NULL
Název záhlaví požadavku | `header $<name>` | Název a hodnota záhlaví. Například výraz `header$Host='localhost'` testuje, zda požadavek obsahuje záhlaví hostitele HTTP s hodnotou `localhost`. Chcete-li otestovat přítomnost či nepřítomnost záhlaví hostitele, použijte jeden z těchto výrazů:
    header$Host IS NOT NULL
    header$Host IS NULL
Název záhlaví souboru cookie | `cookie$<name>` | Název souboru cookie. Například výraz `cookie$My_Cookie_Name='My_Cookie_Value'` testuje, zda požadavek obsahuje soubor cookie nazvaný `My_Cookie_Name` s hodnotou `My_Cookie_Value`. Chcete-li otestovat přítomnost či nepřítomnost konkrétního souboru cookie, použijte jeden z těchto výrazů:
    cookie$MyCookieName IS NOT NULL
    cookie$MyCookieName IS NULL
Metoda HTTP | `HTTPMethod` | Metoda HTTP pro požadavek. Možné hodnoty jsou POST, GET, PUT a DELETE.
Hostitel klienta | `clienthost` | Úplný název hostitele klienta. Tato hodnota představuje název hostitele příkazů protokolu IP (Internet Protocol). Tento operand nepodporuje číselné operátory, jako jsou `>, >=, <, <=`.
Klient IPV4 | `clientipv4` | Adresa IP klienta s použitím adresy protokolu IPv4 (Internet Protocol verze 4) čtyřmístného typu odděleného tečkami `n.n.n.n`.
Klient IPv6 | `clientipv6` | Adresa IPv6 (Internet Protocol verze 6) 128bitového typu `x:x:x:x:x:x:x:x` následující po dokumentu RFC 1924 (Request for Comments 1924) počítače klienta.
Hostitel serveru | `serverhost` | Úplný název hostitele serveru. Tento operand nepodporuje číselné operátory, jako jsou `>, >=, <, <=`.
Server IPV4 | `serveripv4` | Adresa IP počítače serveru s použitím adresy protokolu IPv4 čtyřmístného typu odděleného tečkami `n.n.n.n`.
Server IPv6 | `serveripv6` | Adresa IPv6 128bitového typu `x:x:x:x:x:x:x:x` následující po dokumentu RFC 1924 počítače serveru.
Port | `port` | Port naslouchání, na kterém byl přijat požadavek.
Protokol | `protocol` | Komunikační protokol, který přenáší požadavek. V současné době jsou podporované protokoly HTTP, HTTPS, SOAP a SOAPS.
Čas | `time` | Používá se k definování data a času, kdy musí být daný požadavek splněn. Dvě nepovinná pole jsou `Čas zahájení` a `Čas ukončení`. Požadavky přijaté mimo definované časové okno nejsou zpracovány. Pole Čas zahájení a Čas ukončení mají následující formát: `den_v_týdnu/den_v_měsíci/měsíc/rok::hodina:minuta:sekunda`. Například čtvrtek 11. dubna roku 2007 ve 13:03:45 bude uveden takto: Thu/11/Apr/2007::13:03:45 V libovolném poli lze použít zástupný znak s hodnotou *. Například první den každého měsíce je určen jako `*/1`. Hodnoty pole `den_v_týdnu` jsou Sun, Mon, Tue, Wed, Thu, Fri, Sat a hodnoty pole `den_v_měsíci` jsou v rozsahu 1-31. Hodnota pole `měsíc` je nečíselná hodnota představující 12 měsíců: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Hodnota pole `rok` je tvořena čtyřmi číslicemi daného roku. Například 2007. Hodnota pole `hodina` je hodina dne na 24hodinové časomíře. Například 8 hodin ráno představuje hodnota ::8. `Minuta` a `sekunda` jsou celá čísla v rozsahu 0-59. Dopředné lomítko (/) se používá k oddělení parametrů data, dvojitá dvojtečka (::) k oddělení hodnot data a času a dvojtečka (:) k oddělení parametrů času. Akci směrování, která se provede, určuje logický výsledek celého pravidla, v němž se používá operand `time`.
Procentní část | `percentage$<val>` | Operand percentage se vyhodnotí jako `true` v pevně určené procentní části případů. Například `percentage$50` se vyhodnotí jako `true` v průměru v 50 % případů.
Náběh | `rampup$<čas_zahájení>$<čas_dokončení>` | Operand `rampup` se vyhodnotí jako `true` v proměnné procentní části případů. Vždy se vyhodnotí jako `false` před časem zahájení `<startTime>` a jako `true` po čase dokončení `<completionTime>`. Jak plyne čas od času zahájení `<startTime>` k času dokončení `<completionTime>`, vyhodnocuje se jako `true` s lineárně rostoucí pravděpodobností. Formát času zahájení `<startTime>` a času dokončení `<completionTime>` je `den/měsíc/rok::hodina:minuta:sekunda`. kde `den` je den v měsíci, `měsíc` je jeden z 12 měsíců: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, `rok` je čtyřciferný rok, `hodina` je dvouciferná hodina na 24hodinové časomíře a `minuta` a `sekunda` jsou dvouciferné hodnoty minut a sekund. Příklad: `rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00` začíná občasným vyhodnocením jako `true` v 8 hodin ráno 1. ledna 2007 a vždy se vyhodnotí jako `true` od času dokončení náběhu v 5 hodin odpoledne téhož dne.

## Operátor

V závislosti na zvoleném operátoru zadejte hodnotu pro podvýraz, který chcete vytvořit. Všechny operátory se vyhodnocují na logické hodnoty. Operátory nerozlišují velká a malá písmena: `AND` je ekvivalentní k `AnD`.

Tabulka 3. Operátory specifikace trasování
Operátor | Popis
--- | ---
Je rovno, ignorovat velká/malá písmena (EQUALSIGNORECASE) | Operátor je rovno, ignorovat velká/malá písmena. Je ignorována velikost písmen řetězců. `'ABC' EQUALSIGNORECASE 'abc'` je true. `('ABC' = 'abc')` je false.
Nerovná se (< >) | Operátor nerovnosti vyjadřuje, že hodnota operandu není rovna zadané hodnotě.
V (IN) | `Řetězec IN seznam řetězců` se vyhodnocuje na true, pokud řetězec nalevo přesně odpovídá (rozlišují se malá a velká písmena) nějakému řetězci v seznamu napravo. Příklad: ’adrian’ in `('keith','eric','kalyan','david', 'adrian atd.')` je false. `'adrian'` in `('tom','adrian')` je true. ’adrian’ in `('Tom','Adrian')` je false. `celé číslo IN seznam celých čísel` : `1` in `(1,2,3,4,5)` je true. `6` in `(1,2,3,4,5)` je false.
Je jako (LIKE) | Vyjadřuje porovnání vzorků u hodnot řetězcových operandů. Hodnota musí obsahovat zástupný znak (`%`) na pozici, kde se očekává začátek porovnání vzorků. Například výraz
    host LIKE %blanca
odpovídá slovu `blanca` a jakémukoli jinému slovu, které končí řetězcem `blanca`, zatímco výraz
    host LIKE blanca%
odpovídá slovu `blanca` a jakémukoli jinému slovu, které začíná řetězcem `blanca`. Výraz
    host LIKE %blanca%
odpovídá slovu `blanca` a jakémukoli slovu, ve kterém je vložen token `blanca`.
Je jako, ignorovat velká/malá písmena (LIKEIGNORECASE) | Tento operátor vyjadřuje vzorek hledající shodu s hodnotou operandu typu řetězec. Je ignorována velikost písmen řetězců.
Není null (IS NOT NULL) | Ověření dotazu ukazuje existenci požadovaného parametru.
Zřetězit (+) | Tento operátor vyhodnocuje `'abc'+'def'` na `'abcdef'`.
Jako v (LIKEIN) | Tento operátor vyjadřuje, že `řetězec likein (řetězec1, řetězec2, řetězec3,...)` se vyhodnocuje na true, pokud řetězec nalevo od operátoru `likein` odpovídá minimálně jednomu z řetězců (řetězecN).
Je null (IS NULL) | Ověření dotazu ukazuje neexistenci požadovaného parametru. Testuje na operand, který má hodnotu `NULL`.
Je rovno (=) | Operátor rovnosti vyjadřuje shodu s rozlišováním malých a velkých písmen.
Větší než (>) | Vyhodnocuje se na standardní logický výsledek.
Větší nebo rovno (>=) | Vyhodnocuje se na standardní logický výsledek.
Menší než (<) | Vyhodnocuje se na standardní logický výsledek.
Menší nebo rovno (<=) | Vyhodnocuje se na standardní logický výsledek.
Mezi (BETWEEN) | Používá se společně s operátorem `AND` k výběru rozsahu hodnot včetně první (nejnižší) a poslední (nejvyšší) hodnoty. Společně se používají pro čísla a hodnoty data.

## Hodnota

V závislosti na vámi zvoleném operátoru zadejte hodnotu podvýrazu, který jste se rozhodli vytvořit.

## Generovat podvýraz

Vygeneruje podvýraz jako výsledek operandu, operátoru a hodnot, které zadáte.

## Připojit

Klepnutím připojíte do rámečku na panelu podmínek.

Související informace:
Funkce Intelligent Management pro moduly plug-in webového serveru
Specifikace trasování
Vlastnost modulu plug-in funkce Intelligent Management
Kolekce vlastností funkce Intelligent Management
Vzdálená buňka funkce Intelligent Management webového serveru

Název souboru: uwve_tracerulebuilder.html