Negalima

Naudokitės „Jinja“ filtrais naudodami galimus duomenis

Naudokitės „Jinja“ filtrais naudodami galimus duomenis

Kai kuriais atvejais, kai naudojate „Ansible“ įvairioms užduotims automatizuoti, gali tekti transformuoti ir manipuliuoti duomenimis. Skiltyje „Ansible“ galite naudoti įmontuotų filtrų rinkinį arba sukurti pasirinktinius filtrus, kad galėtumėte tvarkyti, apdoroti ir konvertuoti duomenis. „Ansible“ naudoja „jinja2“ šablonų filtrus fone, kad vartotojai galėtų kurti nurodytų duomenų filtrus.

Svarbu pažymėti, kad filtro šablonai atliekami valdiklyje „Ansible“, o ne nurodytuose nuotoliniuose kompiuteriuose. Tai padeda sumažinti duomenų, perduotų į nuotolinį pagrindinį kompiuterį, kiekį po vietinio apdorojimo. Jei nesate susipažinę su „jinja“ šablonais, „Jinja“ yra paprasta, intuityvi, greita ir saugi „Python“ programavimo kalbos šablonų kalba, sukurta po populiaraus „Python“ pagrindo „Django“ šablonų.

Mes nesigilinsime, kaip veikia „jinja“ šablonai, nors tai gali būti papildomas pranašumas suprasti, kaip tai veikia su šablonais.

Peržiūrėkite toliau pateiktą šaltinį, kad sužinotumėte daugiau apie Jinja.

https: // linkfy.to / jinjaDocs

Kaip veikia įmanomi filtrai

Kaip minėta, „Ansible“ filtravimo variklis remiasi „Jinja“ šablonų modeliu. Tai leidžia vartotojams naudoti šiuos šablonus duomenims įvesti, apdoroti ir pateikti išvestį pagal apibrėžtus filtrus.

Kai duomenys bus transformuoti ir filtruoti naudojant apibrėžtą šabloną, galėsite juos naudoti kitoms „Ansible“ užduotims atlikti. Šioje svetainėje galite daugiau sužinoti apie „Ansible“ filtrus:

https: // linkfy.to / AnsibleFilters

„Ansible“ turi daug filtrų, kurie visi yra labai naudingi ir pritaikomi daugeliui skirtingų scenarijų. Kai turėsite filtro išvestį, galėsite ją naudoti kitoms užduotims atlikti, pavyzdžiui, derinti.

Duomenų filtravimo sintaksė yra tokia:

|

Nenaudojamų filtrų naudojimas

Dabar mes panagrinėsime „Ansible“ filtrų pavyzdžius, kuriuos galime naudoti įvairioms užduotims atlikti.

PASTABA: Kaip minėta anksčiau, „Ansible“ turi daug filtrų, todėl šiame straipsnyje negalime aptarti visų jų. Vietoj to, šioje pamokoje siekiama pateikti įvairių „Ansible“ filtrų naudojimo pagrindus.

1 pavyzdys: anoniminio formato duomenų filtrai

Duomenų filtrai „Ansible format“ ima išvesties duomenų struktūrą šablone ir naudoja nurodytą filtrą, kad jie būtų pateikti formatu, kuris vadinamas filtru.

Žemiau pateikiamas filtro pavyzdys, norint konvertuoti į JSON ir YAML:

kintamasis | to_json
kintamasis | to_yaml

Pvz., Apsvarstykite šią pjesę:

- kompiuteriai: visos užduotys:
- apvalkalas: katė / tmp / visi.Json
registruotis: rezultatas
- derinti:
msg: "rezultatas.stdout | to_nice_yaml

Paleidus aukščiau pateiktą grojaraštį bus sukurta JSON duomenų, konvertuotų į YAML, išvestis. Toliau pateikiamas išvesties pavyzdys:

Taip pat galite nurodyti kitus filtrus, pvz., To_nice_yaml, kad gautumėte išvestį žmonėms skaitomu formatu.

kintamasis | to_nice_json
kintamasis | to_nice_yaml

Naudodami formatavimo duomenų filtrus galite transformuoti duomenis į įvairius formatus ir naudoti juos įvairioms užduotims atlikti.

Pavyzdžiui, galite perduoti kelių dokumentų YAML eilutes, kaip nurodyta toliau pateiktoje pjesėje:

- kompiuteriai: visos užduotys:
- apvalkalas: katė / tmp / visi.Json
registruotis: rezultatas
- derinti:
msg: "rezultatas.stdout | to_yaml | sąrašas

2 pavyzdys: negalimas numatytasis filtras

Negalimas numatytasis filtras padeda nustatyti numatytąsias nenustatytų kintamųjų reikšmes. Pagal numatytąją konfigūraciją „Ansible“ nepavyksta apibrėžti kintamųjų. Pvz., Jei turite neapibrėžtą kintamąjį, galite nurodyti Ansible numatytąją reikšmę, o ne pakelti klaidą.

Bendra numatytojo filtro sintaksė yra tokia:

| Numatytoji reikšmė)

Pavyzdžiui:

- šeimininkai: visi
varsas:
užduotys:
nustatyti_ faktas:
undef_var: "0_var | default (5)"

Anksčiau pateiktoje knygoje „0_var“ kintamojo vertė bus nustatyta į 5, jei nebus aiškiai apibrėžta, užuot metusi klaidą.

Norėdami apibrėžti kintamąjį, galite naudoti privalomą filtrą. Viskas, ką jums reikia padaryti, tai remtis aukščiau pateiktu pavyzdžiu ir pakeisti numatytąjį privalomu:

0_var | privaloma

3 pavyzdys: anuliuoti derinimo filtrai

Derindami galite naudoti „type_debug“ filtrą, kad gautumėte informacijos apie kintamojo tipą. Kintamojo tipas bus „Python“, nes variklis pagrįstas „Python“. Bendroji filtro sintaksė yra tokia:

kintamasis | type_debug

4 pavyzdys: matematikos filtrai

„Ansible math“ filtrai leidžia atlikti su matematika susijusias užklausas. Šie filtrai apima:

  1. Logaritmo filtras - kintamasis | log - nurodo logaritmo pagrindą skliaustuose kaip kintamasis | žurnalas (2)
  2. Maitinimo filtras - kintamasis | pow (3) - grąžina kintamąjį į nurodytą galią
  3. Absoliutus filtras - kintamasis | abs - pateikia absoliučią perduoto kintamojo vertę
  4. Šaknies filtras - kintamasis | root - tai grąžina kintamojo kvadratinę šaknį. Norėdami aiškiai nurodyti šaknį, reikšmę pateikite skliausteliuose; pavyzdžiui, kubo šaknis kintamasis | šaknis (3)

Šie matematikos filtrai gali būti gana naudingi, ypač kai reikalingas didelis duomenų kiekis ir momentinės matematikos operacijos.

5 pavyzdys: Maišos filtrai

„Ansible hash“ filtrai leidžia jums gauti eilutės ar perduotų duomenų maišos. Daugeliu atvejų jums nereikės šių filtrų, tačiau prireikus juos galima naudoti. Šie filtrai apima:

  1. Ša1 - var | maišos („sha1“)
  2. Sha256 / sha512 - var | password_hash („sha256 / 512“)
  3. Md5 - var | maišos („md5“)
  4. Styginių kontrolinė suma - var | kontrolinė suma

Kiti naudingi filtrai

Kaip jau pastebėjote, „Ansible“ turi daug filtrų. Kai kurie „Ansible“ filtrai, kurie jums gali būti naudingi, yra šie:

  • URL padalijimo filtras - “[El. Pašto saugoma]: // linuxhint.com: 8080 / index.HTML?užklausa = linux “| urlspilt („hostname“), - grąžina „linuxhint“.com “
  • Prisijungti prie sąrašo - sąrašas | prisijungti - naudojamas pridėti sąrašą į eilutės var
  • Katalogo kelias - kelias | dirname
  • Išplėskite tildę - kelias | išskleidėjas

Išvada

Neišmanomi filtrai yra naudingi, kai atliekate derinimo užduotis arba jums reikia konkrečios informacijos per daug nevedant. Kadangi „Ansible“ palaiko pasirinktinius filtrus, šie filtrai gali būti ypač naudingi konkrečiais naudojimo atvejais.

Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...
Kaip parodyti FPS skaitiklį „Linux“ žaidimuose
„Linux“ žaidimai gavo didelį postūmį, kai „Valve“ paskelbė „Linux“ palaikymą „Steam“ klientui ir jų žaidimams 2012 m. Nuo tada daugelis AAA ir indie ž...
Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...