Mahdollinen

Käsittele mahdollisia tietoja Jinja-suodattimien avulla

Käsittele mahdollisia tietoja Jinja-suodattimien avulla

Joissakin tapauksissa, kun käytät Ansible-toimintoa eri tehtävien automatisointiin, joudut ehkä muuttamaan ja käsittelemään tietoja. Ansible-sovelluksessa voit käyttää sisäänrakennettuja suodattimia tai luoda mukautettuja suodattimia tietojen manipuloimiseksi, käsittelemiseksi ja muuntamiseksi. Ansible käyttää taustalla olevia jinja2-mallisuodattimia, jotta käyttäjät voivat luoda suodattimia määritetyille tiedoille.

On tärkeää huomata, että suodatinmallit suoritetaan Ansible-ohjaimessa, ei määritetyissä etäisänissä. Tämä auttaa vähentämään etäisäntään siirrettävän datan määrää paikallisen käsittelyn jälkeen. Jos et tunne jinja-malleja, Jinja on yksinkertainen, intuitiivinen, nopea ja turvallinen mallikieli Python-ohjelmointikielelle, joka on kehitetty suositun Python-kehyksen Django-mallien jälkeen.

Emme pääse käsittelemään jinja-mallien toimintaa, vaikka se voi olla lisäetu ymmärtää, miten se toimii mallien kanssa.

Katso alla olevasta resurssista lisätietoja Jinjasta.

https: // linkfy.to / jinjaDocs

Kuinka mahdolliset suodattimet toimivat

Kuten mainittiin, Ansible-suodatusmoottori perustuu Jinja-mallimalliin. Tämä antaa käyttäjille mahdollisuuden käyttää näitä malleja tietojen syöttämiseen, käsittelyyn ja tuottamiseen määritettyjen suodattimien perusteella.

Kun tiedot on muunnettu ja suodatettu määritetyn mallin avulla, voit käyttää niitä muiden tehtävien suorittamiseen Ansible-ohjelmassa. Saat lisätietoja Ansible-suodattimista seuraavalta verkkosivustolta:

https: // linkfy./ AnsibleFilters

Ansible-palvelussa on monia suodattimia, jotka ovat kaikki erittäin hyödyllisiä ja soveltuvia moniin erilaisiin tilanteisiin. Kun sinulla on suodattimen lähtö, voit käyttää sitä muiden tehtävien suorittamiseen, kuten virheenkorjaukseen.

Tietojen suodattamisen yleinen syntakse on seuraava:

|

Käyttämättömien suodattimien käyttö

Tarkastelemme nyt esimerkkejä Ansible-suodattimista, joita voimme käyttää erilaisten tehtävien suorittamiseen.

MERKINTÄ: Kuten aiemmin mainittiin, Ansibleilla on monia suodattimia, joten emme voi käsitellä kaikkia niitä tässä artikkelissa. Sen sijaan tässä opetusohjelmassa pyritään tarjoamaan sinulle perustiedot eri Ansible-suodattimien käytöstä.

Esimerkki 1: Ansible Format Data Filters

Ansible format -datasuodattimet ottavat lähtötietorakenteen malliin ja hahmottavat sen määritetyllä suodattimella suodattimessa kutsuttuun muotoon.

Alla on esimerkki suodattimesta muunnettavaksi JSON: ksi ja YAML: ksi:

muuttuja | to_json
muuttuja | to_yaml

Harkitse esimerkiksi seuraavaa pelikirjaa:

- isännät: kaikki tehtävät:
- kuori: kissa / tmp / kaikki.json
rekisteri: tulos
- virheenkorjaus:
msg: "tulos.vakio | to_nice_yaml "

Yllä olevan soittokirjan suorittaminen tuottaa lähdön JSON-tiedoille, jotka on muunnettu YAML: ksi. Seuraava on esimerkkilähtö:

Voit määrittää myös muita suodattimia, kuten to_nice_yaml, saadaksesi lähdön ihmisen luettavassa muodossa.

muuttuja | to_nice_json
muuttuja | to_nice_yaml

Muotoilutietosuodattimien avulla voit muuntaa tiedot eri muodoiksi ja käyttää niitä erilaisiin tehtäviin.

Voit esimerkiksi siirtää monidokumentin YAML-merkkijonot, kuten alla olevassa soittokirjassa:

- isännät: kaikki tehtävät:
- kuori: kissa / tmp / kaikki.json
rekisteri: tulos
- virheenkorjaus:
msg: "tulos.vakio | to_yaml | lista"

Esimerkki 2: Mahdollinen oletussuodatin

Ansible default -suodatin auttaa määrittämään oletusarvot määrittelemättömille muuttujille. Oletusarvoinen Ansible-kokoonpano epäonnistuu määrittelemättömien muuttujien kanssa. Jos sinulla on esimerkiksi määrittelemätön muuttuja, voit kertoa Ansibleille oletusarvoisen arvon virheen nostamisen sijaan.

Oletussuodattimen yleinen syntaksin muoto on seuraava:

| oletusarvo)

Esimerkiksi:

- isännät: kaikki
vars:
tehtävät:
set_fact:
undef_var: "0_var | oletus (5)"

Yllä oleva soittokirja asettaa muuttujan '0_var' arvoksi 5, ellei sitä ole nimenomaisesti määritelty virheen heittämisen sijaan.

Voit määrittää muuttujan käyttämällä pakollista suodatinta. Sinun tarvitsee vain viitata yllä olevaan esimerkkiin ja korvata oletus pakollisella:

0_var | pakollinen

Esimerkki 3: Mahdolliset virheenkorjaussuodattimet

Virheenkorjauksessa voit käyttää type_debug-suodatinta saadaksesi tietoja muuttujatyypistä. Muuttujatyyppi tulee olemaan Pythonissa, koska moottori on Python-pohjainen. Suodattimen yleinen syntaksin muoto on seuraava:

muuttuja | type_debug

Esimerkki 4: Matematiikan suodattimet

Ansible Math -suodattimien avulla voit suorittaa matemaattisia kyselyitä. Nämä suodattimet sisältävät seuraavat:

  1. Logaritmisuodatin - muuttuja | log - määrittää sulkeissa olevan logaritmin perustan muodossa muuttuja | loki (2)
  2. Tehosuodatin - muuttuja | pow (3) - palauttaa korotetun muuttujan määritettyyn tehoon
  3. Absoluuttinen suodatin - muuttuja | abs - palauttaa välitetyn muuttujan absoluuttisen arvon
  4. Root-suodatin - muuttuja | root - tämä palauttaa muuttujan neliöjuuren. Määritä juuri juuri siirtämällä arvo sulkeisiin; esimerkiksi kuutiojuuri muuttuja | juuri (3)

Nämä matematiikan suodattimet voivat olla varsin hyödyllisiä, varsinkin kun käsitellään suuria määriä dataa ja välitöntä matematiikkaa.

Esimerkki 5: Hash-suodattimet

Ansible hash -suodattimien avulla voit hankkia merkkijonon tai välitetyn datan hajautuksen. Useimmissa tapauksissa et tarvitse näitä suodattimia, mutta ne ovat käytettävissä käytettäväksi tarvittaessa. Nämä suodattimet sisältävät seuraavat:

  1. Sha1 - var | hash ("sha1")
  2. Sha256 / sha512 - var | password_hash (“sha256 / 512”)
  3. Md5 - var | hash (“md5”)
  4. Merkkijono tarkistussumma - var | tarkistussumma

Muut hyödylliset suodattimet

Kuten olet ehkä huomannut, Ansibleilla on monia suodattimia. Joitakin Ansible-suodattimia, jotka saattavat olla hyödyllisiä, ovat seuraavat:

  • URL-jakosuodatin - “[Sähköposti suojattu]: // linuxhint.com: 8080 / index.html?kysely = linux ”| urlspilt (“hostname”), - palauttaa “linuxhint”.com ”
  • Liity luettelo - luettelo | liittyä - käytetään luettelon lisäämiseen merkkijonomuuttujaan
  • Hakemistopolku - polku | dirname
  • Laajenna tilde - polku | laajentaja

Johtopäätös

Mahdolliset suodattimet ovat käteviä, kun suoritat virheenkorjaustehtäviä tai tarvitset tarkkoja tietoja kirjoittamatta liikaa. Koska Ansible tukee mukautettuja suodattimia, nämä suodattimet voivat olla erityisen hyödyllisiä tietyissä käyttötapauksissa.

Parhaat Linux-peliohjaimen kartoitussovellukset
Jos haluat pelata pelejä Linuxissa peliohjaimella tyypillisen näppäimistön ja hiiren syöttöjärjestelmän sijaan, on sinulle hyödyllisiä sovelluksia. Mo...
Hyödyllisiä työkaluja Linux-pelaajille
Jos haluat pelata pelejä Linuxissa, on todennäköistä, että olet käyttänyt sovelluksia ja apuohjelmia, kuten Wine, Lutris ja OBS Studio, pelikokemuksen...
HD Remastered Games for Linux that Never had a Linux Release Earlier
Many game developers and publishers are coming up with HD remaster of old games to extend the life of franchise, please fans requesting compatibility ...