Oprogramowanie takie jak ansible jest wymagane do obsługi ogromnych ilości danych. Patrząc na ułatwianie tego rodzaju aplikacji, które mają zapewnić, ich możliwości przetwarzania danych muszą być na najwyższym poziomie.
Ilekroć potrzebujemy przetwarzania, sformatowania lub manipulowania danymi w Ansible, używamy filtrów. Istnieją dwa zestawy filtrów dostępnych w Ansible. Jeden zestaw to filtry szablonów jinja2, a drugi zestaw jest na zamówienie filtrów wykonanych przez użytkowników.
Jednak w tle wszystkie filtry pochodzą z szablonu Jinja2, który działa w sposób, w jaki dane wprowadzane do filtrów są najpierw przekształcane w wyrażenia szablonów, aby można było zastosować do nich filtry.
Kolejną ważną kwestią, na którą należy zwrócić uwagę, jest to, że wszystkie filtry są stosowane lokalnie, co oznacza, że nie można wykonać filtrowania za pomocą zdalnych hostów. Tak więc cała manipulacja i przetwarzanie odbywają się na komputerze sterującym Ansible.
Jeśli chcesz dowiedzieć się o filtrach dostępnych w Ansible i tym, jak są używane, znalazłeś odpowiedni artykuł, ponieważ będziemy prowadzić, jak działają te filtry i jak możesz utworzyć Playbooks Ansible, aby przetwarzać dane tak, jak chcesz system do.
Jak działają filtry?
Działanie za filtrami danych jest proste. Podajesz wstępnie rozwinięte filtry niektóre dane lub informacje jako dane wejściowe; Filtr analizuje dane zgodnie z poleceniami podanymi w podręczniku i ustawione warunki. Po przeanalizowaniu danych otrzymasz dostosowane dane wyjściowe z posiadanych danych.
Różne rodzaje filtrów wykonują różne rodzaje filtrowania danych. Jak wspomniano wcześniej, wszystkie z nich działają na podstawie szablonu Jinja2 i istnieje lista wszystkich dostępnych filtrów. Możesz zobaczyć tę listę, klikając ten link.
Istnieje wiele zalet korzystania z filtrów, ponieważ znacznie zwiększają możliwości Ansible. W niektórych przypadkach możesz także użyć filtrów do debugowania.
Jak wdrożyć filtry w Ansible?
Podstawowa składnia dowolnego filtra ansible jest podana przez:
|Kolejną ważną kwestią, na którą należy zwrócić uwagę, jest to, że transformacja danych w tle odbywa się za pomocą Pythona. W przypadku, gdy określony typ szablonu nie jest dostępny w przypadku Pythona, filtr może nie dać prawidłowego wyjścia. Musisz więc zachować ostrożność podczas korzystania z niektórych filtrów.
Do tej pory nauczyłeś się podstaw filtrów Ansible. Aby wyjaśnić wszelkie dalsze zapytania, przyjrzyjmy się niektórym przykładom filtrowania i różnych rodzajach filtrów.
Przykłady
- Nazwa: Generuj wiele dowolnych nazw hostówChcielibyśmy również tutaj wspomnieć, że aby uruchomić podręcznik, następujące polecenie musiałoby zostać wykonane za pomocą terminalu Linux:
Ansible-Playbook Testbook.ymlW tym przykładzie użyliśmy filtra „produktu”. Filtr produktu służy do wdrażania mnożenia kartezjańskim. Filtr „produktu” jest nieco analogiem do użytku dla pętli w tradycyjnych językach programowania. Wyjście, które otrzymasz, uruchamiając taki kod, byłby.
„Msg”: „ABC.com, Xyz.com "Oto jak możesz uzyskać kombinacje dla zestawów dwóch liczb.
- Imię: Daj mi kombinacje dla zestawów dwóchUżyliśmy filtra „kombinacji”, aby uzyskać kombinacje dwóch liczb z danego zestawu. 2 określone w nawiasach instruuje, aby stworzyć kombinacje 2, a słowo kluczowe „lista” poda dane wyjściowe w formie listy.
- Nazwa: największe permutacje (kwestie zamówienia)Istnieje również dostarczenie filtra „permutacji”. Ten filtr daje nam permutacje danego zestawu zmiennych lub danych. W powyższym przykładzie otrzymamy największe permutacje z zestawu liczb i permutacji zestawów trzech z liczb nieparzystych.
"['a', 'b', 'c'] | Random"W tym przykładzie używa filtra „losowego” do wygenerowania liczby losowej z danego zestawu danych.
51 | Random (krok = 10)W tym przykładzie wykorzystano również filtr „losowy” do wygenerowania liczby losowej między 0 a 50. Podaliśmy również warunek, że rozmiar kroku powinien wynosić 10.
['a', 'b', 'c', 'd', 'e'] | shuffleFiltr „Shuffle” może być użyty do przetasowania zestawu danych, aby wytworzyć wyjście, w którym podane będą tasowane, a następnie pokazane.
['val': 1, 'val': 2, 'val': 3, 'val': 4] | min (atrybut = 'val')Na koniec użyliśmy filtra „min”, który porówna dwa liczby wejściowe, które podaliśmy jako wejście i daje najmniejszą liczbę jako wyjście.
['val': 1, 'val': 2] | max (atrybut = 'val')Podobnie tutaj używamy filtra „maks.”, Aby uzyskać maksymalną liczbę z danego zestawu danych.
Tak więc były to przykłady niektórych filtrów dostępnych w Ansible. Istnieje wiele innych filtrów, których można przetwarzać i formatować dane.
Wniosek
W tym artykule spojrzeliśmy na filtry Ansible. Ustaliliśmy, dlaczego potrzebujemy filtrów w analizie danych i przyjrzeliśmy się niektórym filtrom dostarczonym przez wtyczkę. Mamy nadzieję, że udało nam się pomóc w zrozumieniu, dlaczego filtry są ważne, a co ważniejsze, teraz rozumiesz, w jaki sposób możesz je wykorzystać dla swojej korzyści. Zapraszam do zrzucenia wszelkich pytań w sekcji komentarzy.