Program budujący podwyrażenia służy do budowania złożonych warunków reguł na podstawie podwyrażeń przy użyciu operatorów AND, OR i NOT oraz grupowania w nawiasach. Program budujący reguły sprawdza poprawność reguły po wprowadzeniu zmiany i informuje o występowaniu brakujących nawiasów i nieobsługiwanych operatorów logicznych.
Aby wyświetlić tę stronę, należy kliknąć opcję
.Poniższa lista zawiera dostępne operatory logiczne:
Operator | Opis |
---|---|
OR | Operator logiczny OR. |
AND | Operator logiczny AND. |
NOT | Operator logiczny NOT. |
Operand jest częścią reguły klasyfikacji używanej przez środowisko wykonawcze do dopasowania reguły do zadania. Na przykład jeśli użytkownik określi typ protokołu równy HTTP, środowisko wykonawcze wyszuka zadanie, które ma typ protokołu HTTP. Dostępne są następujące operandy:
Operand | Składnia | Opis |
---|---|---|
Host wirtualny |
virtualhost | Docelowy host wirtualny żądania, który jest używany na potrzeby konfigurowania konkretnej nazwy hosta w aplikacjach WWW. |
Port wirtualny |
numeric | Docelowy port wirtualny żądania, który jest używany do konfigurowania określonego portu w aplikacjach WWW. |
Identyfikator URI |
uri | Jednolity identyfikator zasobu Pomaga zidentyfikować ścieżkę żądania: jeśli adresem URL jest http://host:port/ścieżka?p1=v1, ścieżką jest ścieżka. |
ID użytkownika |
userid | Zwraca identyfikator użytkownika dla uwierzytelnionego użytkownika, który wysłał żądanie. |
ID grupy |
groupingid | Zwraca listę nazw grup dla uwierzytelnionego użytkownika, który wysłał żądanie. |
Nazwa parametru zapytania żądania |
queryparm$<nazwa> | Nazwa i wartość nagłówka. Na przykład wyrażenie queryparm$timezone='EST' testuje
żądanie, aby sprawdzić, czy zawiera parametr zapytania HTTP o nazwie
timezone i wartości
EST. W celu przeprowadzenia testu
wykrywającego obecność parametru zapytania należy użyć jednego
z następujących formatów:
|
Nazwa nagłówka żądania |
header$<nazwa> | Nazwa i wartość nagłówka. Na przykład wyrażenie header$Host='localhost'
testuje żądanie, aby sprawdzić, czy zawiera nagłówek HTTP hosta o wartości
localhost.
W celu
przeprowadzenia testu wykrywającego obecność nagłówka hosta należy użyć
jednego z następujących wyrażeń:
|
Nazwa nagłówka informacji cookie |
cookie$<nazwa> | Nazwa informacji cookie. Na przykład wyrażenie cookie$nazwa_mojej_informacji_cookie='wartość_mojej_informacji_cookie' testuje żądanie, aby sprawdzić, czy zawiera ono informację cookie o nazwie nazwa_mojej_informacji_cookie o wartości wartość_mojej_informacji_cookie. W celu
przeprowadzenia testu wykrywającego obecność określonej
informacji cookie należy użyć jednego z następujących wyrażeń:
|
Metoda HTTP |
HTTPMethod | Metoda HTTP żądania. Możliwe wartości: POST, GET, PUT i DELETE. |
Host klienta |
clienthost | Pełna nazwa hosta klienta. Ta wartość określa nazwę hosta komend protokołu Internet Protocol (IP). Ten operand nie obsługuje operatorów liczbowych, takich jak >, >=, <, <=. |
Adres IPv4 klienta |
clientipv4 | Adres IP klienta używającego protokołu Internet Protocol w wersji 4 (IPv4) w postaci czterech grup cyfr oddzielonych kropkami n.n.n.n. |
Adres IPv6 klienta |
clientipv6 | Adres komputera klienckiego w postaci 128-bitowego adresu protokołu Internet Protocol w wersji 6 (IPv6) w formacie x:x:x:x:x:x:x:x zgodnego z dokumentem Request for Comments 1924 (RFC 1924). |
Host serwera |
serverhost | Pełna nazwa hosta serwera. Ten operand nie obsługuje operatorów liczbowych, takich jak >, >=, <, <=. |
Adres IPv4 serwera |
serveripv4 | Adres IP serwera używającego protokołu IPv4 w postaci czterech grup cyfr oddzielonych kropkami: n.n.n.n. |
Adres IPv6 serwera |
serveripv6 | Adres serwera w postaci 128-bitowego adresu protokołu IPv6 w formacie x:x:x:x:x:x:x:x zgodnym z dokumentem Request for Comments 1924 (RFC 1924). |
Port |
port | Port nasłuchiwania, na którym odebrano żądanie. |
Protokół |
protocol | Protokół komunikacyjny przesyłający żądanie. Obecnie obsługiwane protokoły to HTTP, HTTPS, SOAP i SOAPS. |
Czas |
time | Służy do definiowania daty i godziny, o której dane żądanie musi zostać uznane. Dwa opcjonalne pola to: StartTime i EndTime. Jeśli żądanie odebrano poza tym zdefiniowanym oknem, nie będzie ono przetwarzane. Pola Czas rozpoczęcia i Czas zakończenia mają następujący format: dzień_tygodnia/dzień_miesiąca/miesiąc/rok::godzina:minuta:sekunda. Na przykład godzina 13:03:45 w czwartek 11 kwietnia 2007 jest określana następująco: czw/11/kwi/2007::13:03:45 Każde pole może użyć znaku wieloznacznego z wartością *. Na przykład pierwszy z każdego miesiąca jest określony jako */1. Możliwe wartości pola dayofWeek to nie, pon, wto, śro, czw, pią i sob, a dayOfMonth to zakres 1-31. Wartość month jest wartością nieliczbową, która reprezentuje 12 miesięcy: sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis, gru. Wartość year składa się z 4 cyfr roku. Na przykład: 2007. Wartość pola godzina to godzina w formacie zegara 24-godzinnego. Na przykład godzina 8 AM (przed południem) jest reprezentowana jako::8. Wartości minute i second są liczbami całkowitymi z zakresu 0-59. Ukośnik (/) służy do oddzielania parametrów daty, podwójny dwukropek (::) jest używany do oddzielania parametrów daty, natomiast dwukropek (:) jest używany do oddzielania parametrów godziny. Wynik boolowski całej reguły, w której użyto operandu time, określa podjęte działanie routingu. |
Procent |
percentage$<wartość> | Operand
percentage przyjmuje wartość true dla procentu
przypadków określonych za pomocą wartości. Na przykład wyrażenie percentage$50 przyjmuje wartość true średnio dla 50% przypadków. |
Zwiększanie |
rampup$<czas_rozpoczęcia>$<czas_zakończenia>
|
Operand rampup przyjmuje wartość true dla zmiennego procentu czasu. Ten operand zawsze przyjmuje wartość
false przed czasem określonym za pomocą parametru
<czas_rozpoczęcia> oraz wartość
true po czasie określonym za pomocą parametru
<czas_zakończenia>.
Wraz z upływem czasu od momentu reprezentowanego przez parametr
<czas_rozpoczęcia> do momentu
określonego za pomocą parametru
<czas_zakończenia> operand rampup
przyjmuje wartość true dla zwiększanego liniowo
procentu przypadków. Format parametrów <czas_rozpoczęcia> i <czas_zakończenia>: dzień/miesiąc/rok::godzina:minuta:sekunda. gdzie dzień to dzień miesiąca, miesiąc jest jednym z 12 miesięcy: sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis, gru, rok jest rokiem w postaci 4-cyfrowej, godzina oznacza 2-cyfrową godzinę z zegara 24-godzinnego, a minuta i sekunda są 2-cyfrowymi wartościami odpowiednio dla minuty i sekundy.Na przykład: Operand rampup$01/sty/2007::08:00:00$01/sty/2007::17:00:00 zaczyna sporadycznie przyjmować wartość true o godzinie 8 pierwszego stycznia 2007, a o godzinie 17 tego samego dnia oznaczającej koniec zwiększania procentu zawsze przyjmuje wartość true. |
W zależności od wybranego operatora należy wpisać wartość dla podwyrażenia, które ma zostać utworzone. Wszystkie operatory przyjmują wartości boolowskie. W operatorach nie jest rozróżniana wielkość liter: AND jest równoważne AnD.
Operator | Opis |
---|---|
Jest równe (nie jest rozróżniana wielkość liter) (EQUALSIGNORECASE) | Operator równości (bez rozróżniania wielkości liter). Wielkość liter w łańcuchach jest ignorowana. 'ABC' EQUALSIGNORECASE 'abc' ma wartość true. ('ABC' = 'abc') ma wartość false. |
Nie jest równe (< >) | Operator nierówności wyraża, że wartość operandu nie jest równa wprowadzonej wartości. |
Zawiera się (IN) |
|
Jest podobne do (LIKE) | Oznacza dopasowywanie wzorca dla łańcuchowych wartości operandu. Wartość musi zawierać znak wieloznaczny (%) w miejscu, w którym ma się rozpocząć dopasowywanie wzorca. Na przykład wyrażenie:
host LIKE %blancadopasowuje słowo blanca i wszelkie inne słowa, które kończą się na blanca, gdy wyrażenie: host LIKE blanca%dopasowuje słowo blanca i wszelkie inne słowa rozpoczynające się łańcuchem blanca. Wyrażenie: host LIKE %blanca%dopasowuje słowo blanca i wszystkie słowa, które mają osadzony leksem blanca. |
Jest podobne do (nie jest rozróżniana wielkość liter)(LIKEIGNORECASE) | Ten operator oznacza dopasowywanie wzorca dla łańcuchowych wartości operandu. Wielkość liter w łańcuchach jest ignorowana. |
Nie jest puste (IS NOT NULL) | Sprawdzanie poprawności danego zapytania wskazuje, że żądany parametr istnieje. |
Konkatenacja (+) | Ten operator zwraca wartość wyrażenia 'abc'+'def' jako 'abcdef'. |
Jest podobne do i zawiera się (LIKEIN) | Wyrażenia z tym operatorem łańcuch likein (łańcuch1, łańcuch2, łańcuch3,...) przyjmują wartość true, gdy łańcuch po lewej stronie operatora likein pasuje do jednego lub większej liczby łańcuchów (łańcuchN). |
Jest puste (IS NULL) | Sprawdzanie poprawności danego zapytania wskazuje, że żądany parametr nie istnieje. Testy dla operandu, który ma wartość NULL. |
Jest równe ( = ) | Operator równości wyraża zgodność w dopasowaniu, w którym rozróżniana jest wielkość liter. |
Większe niż (>) | Przyjmuje wartość standardowego wyniku logicznego. |
Jest większe lub równe (>=) | Przyjmuje wartość standardowego wyniku logicznego. |
Mniejsze niż (<) | Przyjmuje wartość standardowego wyniku logicznego. |
Jest mniejsze lub równe (<=) | Przyjmuje wartość standardowego wyniku logicznego. |
Pomiędzy (BETWEEN) | Używany z operatorem AND do wybierania zakresu wartości włącznie z pierwszą (najniższą) oraz ostatnią (najwyższą) wartością. Razem te operatory działają w przypadku liczb i wartości dat. |
Zależnie od wybranego operatora należy wpisać wartość dla podwyrażenia, które ma zostać utworzone.
Generuje podwyrażenie jako wynik określonego operandu, operatora i wartości.
Tę opcję należy kliknąć, aby dodać podwyrażenie do pola na panelu warunków.