Odgovorno

Upravljajte z odgovornimi podatki s filtri Jinja

Upravljajte z odgovornimi podatki s filtri Jinja

Včasih, ko uporabljate Ansible za avtomatizacijo različnih nalog, boste morda morali spremeniti podatke in jih obdelati. V programu Ansible lahko za upravljanje, obdelavo in pretvorbo podatkov uporabite nabor vgrajenih filtrov ali ustvarite filtre po meri. Ansible v ozadju uporablja filtre predloge jinja2, da uporabnikom omogoča ustvarjanje filtrov za določene podatke.

Pomembno je omeniti, da se predloge filtrov izvajajo na krmilniku Ansible in ne na določenih oddaljenih gostiteljih. To pomaga zmanjšati količino podatkov, prenesenih na oddaljeni gostitelj po lokalni obdelavi. Če predloge jinja ne poznate, je Jinja preprost, intuitiven, hiter in varen jezik za predloge za programski jezik Python, razvit po priljubljenih predlogah Python framework Django.

Ne bomo razpravljali o tem, kako deluje predloge jinja, čeprav je lahko dodatna prednost, če razumemo, kako deluje s predlogami.

Oglejte si spodnji vir, če želite izvedeti več o Jinja.

https: // linkfy.na / jinjaDocs

Kako delujejo odgovorni filtri

Kot smo že omenili, filtrirni stroj Ansible temelji na vzorčnem modelu Jinja. To uporabnikom omogoča uporabo teh predlog za vnos podatkov, njihovo obdelavo in zagotavljanje izhoda na podlagi določenih filtrov.

Ko se podatki pretvorijo in filtrirajo z definirano predlogo, jih lahko uporabite za izvajanje drugih nalog v programu Ansible. Več o filtrih v programu Ansible lahko izveste na naslednjem spletnem mestu:

https: // linkfy.do / AnsibleFilters

Ansible ima veliko filtrov, ki so zelo uporabni in uporabni za različne scenarije. Ko dobite izhod filtra, ga lahko uporabite za izvajanje drugih nalog, na primer za odpravljanje napak.

Splošna sintaksa za filtriranje podatkov je naslednja:

|

Uporaba Ansible filtrov

Zdaj si bomo ogledali primere filtrov Ansible, ki jih lahko uporabimo za izvajanje različnih nalog.

OPOMBA: Kot smo že omenili, ima Ansible veliko filtrov, zato v tem članku ne moremo zajeti vseh. Namesto tega vam ta vadnica želi zagotoviti osnove uporabe različnih filtrov Ansible.

Primer 1: Filtri podatkov v obliki odgovornega formata

Podatkovni filtri oblike Ansible zajemajo izhodno podatkovno strukturo v predlogi in jo s pomočjo določenega filtra upodabljajo v obliki, imenovani v filtru.

Spodaj je primer filtra za pretvorbo v JSON in YAML:

spremenljivka | do_json
spremenljivka | do_yaml

Na primer, upoštevajte naslednjo knjigo iger:

- gostitelji: vse naloge:
- lupina: mačka / tmp / vse.json
register: rezultat
- odpravljanje napak:
msg: "rezultat.stdout | to_nice_yaml "

Če zaženete zgornjo knjigo iger, boste dobili podatke za JSON, pretvorjene v YAML. Sledi primer izhoda:

Določite lahko tudi druge filtre, na primer to_nice_yaml, da dobite izhod v človekom berljivi obliki.

spremenljivka | do_nice_json
spremenljivka | do_nice_yaml

Z uporabo podatkovnih filtrov za oblikovanje lahko podatke pretvorite v različne formate in jih uporabite za različna opravila.

Na primer, lahko predate razčlenjevanje nizov dokumentov YAML z več dokumenti, kot je v spodnji knjigi iger:

- gostitelji: vse naloge:
- lupina: mačka / tmp / vse.json
register: rezultat
- odpravljanje napak:
msg: "rezultat.stdout | do_yaml | seznam "

Primer 2: Ansible privzeti filter

Privzeti filter Ansible pomaga privzeti vrednosti nedoločenim spremenljivkam. Privzeta konfiguracija Ansible ne uspe z nedefiniranimi spremenljivkami. Če imate na primer nedefinirano spremenljivko, lahko Ansible privzeto določite vrednost, namesto da bi povzročili napako.

Splošna sintaksa za privzeti filter je naslednja:

| privzeta vrednost)

Na primer:

- gostitelji: vsi
variira:
naloge:
set_fact:
undef_var: "0_var | privzeto (5)"

Zgornja knjižica bo vrednost spremenljivke '0_var' nastavila na 5, če ni izrecno določena, namesto da bi vrgla napako.

Če želite definirati spremenljivko, lahko uporabite obvezni filter. Vse, kar morate storiti, je, da se sklicujete na zgornji primer in privzeto zamenjate z obveznim:

0_var | obvezno

Primer 3: Ansible filtri za odpravljanje napak

Pri odpravljanju napak lahko s pomočjo filtra type_debug dobite informacije o vrsti spremenljivke. Tip spremenljivke bo v Pythonu, saj je motor na osnovi Pythona. Splošna sintaksa filtra je naslednja:

spremenljivka | type_debug

Primer 4: Matematični filtri

Matematični filtri Ansible omogočajo izvajanje matematičnih poizvedb. Ti filtri vključujejo naslednje:

  1. Logaritemski filter - spremenljivka | log - podaja osnovo logaritma v oklepajih kot spremenljivka | dnevnik (2)
  2. Močnostni filter - spremenljivka | pow (3) - vrne spremenljivko, povišano na določeno moč
  3. Absolutni filter - spremenljivka | abs - vrne absolutno vrednost za posredovano spremenljivko
  4. Koreninski filter - spremenljivka | root - vrne kvadratni koren spremenljivke. Če želite izrecno navesti koren, podajte vrednost v oklepaje; na primer koren kocke spremenljivka | koren (3)

Ti matematični filtri so lahko zelo koristni, zlasti pri obdelavi velike količine podatkov in takojšnjih matematičnih operacijah.

Primer 5: Hash filtri

Hišni filtri Ansible vam omogočajo, da dobite zgoščevanje niza ali posredovanih podatkov. V večini primerov teh filtrov ne boste potrebovali, vendar so na voljo za uporabo, če se pojavi potreba. Ti filtri vključujejo naslednje:

  1. Sha1 - var | hash (“sha1”)
  2. Sha256 / sha512 - var | geslo_hash (“sha256 / 512”)
  3. Md5 - var | hash (“md5”)
  4. Niz kontrolne vsote - var | kontrolna vsota

Drugi uporabni filtri

Kot ste morda že opazili, ima Ansible veliko filtrov. Nekateri filtri Ansible, ki se vam zdijo koristni, vključujejo naslednje:

  • Filter za razdeljeni URL - “[E-pošta zaščitena]: // linuxhint.com: 8080 / indeks.html?poizvedba = linux «| urlspilt (“ime gostitelja”), - vrne “linuxhint.com «
  • Pridružite se seznamu - seznam | pridruži se - uporablja se za dodajanje seznama v niz var
  • Pot do imenika - pot | dirname
  • Razširite tildo - pot | razširiti uporabnika

Zaključek

Ansible filtri so vam pri roki, ko izvajate naloge za odpravljanje napak ali potrebujete določene informacije brez preveč tipkanja. Ker Ansible podpira filtre po meri, so ti filtri lahko še posebej uporabni v določenih primerih uporabe.

Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...