Anonīms

Manipulēt ar iespējamiem datiem, izmantojot Jinja filtrus

Manipulēt ar iespējamiem datiem, izmantojot Jinja filtrus

Dažos gadījumos, kad izmantojat Ansible dažādu uzdevumu automatizēšanai, jums, iespējams, būs jāpārveido un jārīkojas ar datiem. Programmā Ansible varat izmantot iebūvēto filtru kopu vai izveidot pielāgotus filtrus, lai manipulētu, apstrādātu un konvertētu datus. Ansible fonā izmanto jinja2 veidņu filtrus, lai lietotāji varētu izveidot filtrus norādītajiem datiem.

Ir svarīgi atzīmēt, ka filtru veidnes tiek veiktas kontrolējamajā kontrolierī, nevis norādītajos attālajos resursdatoros. Tas palīdz samazināt datu daudzumu, kas pēc lokālas apstrādes tiek pārsūtīts uz attālo resursdatoru. Ja jums nav pazīstama džinja veidne, Jinja ir vienkārša, intuitīva, ātra un droša veidņu valoda Python programmēšanas valodai, kas izstrādāta pēc populārām Python ietvara Django veidnēm.

Mēs neiedziļināsimies, kā darbojas džinja veidnes, lai gan tā var būt papildu priekšrocība, lai saprastu, kā tā darbojas ar veidnēm.

Pārbaudiet tālāk sniegto resursu, lai uzzinātu vairāk par Jinju.

https: // linkfy.to / jinjaDocs

Kā darbojas iespējamie filtri

Kā jau minēts, filtrēšanas dzinējs Ansible balstās uz Jinja veidņu modeli. Tas ļauj lietotājiem izmantot šīs veidnes, lai ievadītu datus, tos apstrādātu un nodrošinātu izvadi, pamatojoties uz definētajiem filtriem.

Kad dati ir pārveidoti un filtrēti, izmantojot noteikto veidni, tos var izmantot, lai veiktu citus uzdevumus sadaļā Ansible. Šajā vietnē varat uzzināt vairāk par filtriem vietnē Ansible:

https: // linkfy.to / AnsibleFilters

Ansible ir daudz filtru, kas visi ir ļoti noderīgi un piemērojami daudziem dažādiem scenārijiem. Kad esat ieguvis filtra izvadi, varat to izmantot citu uzdevumu veikšanai, piemēram, atkļūdošanai.

Datu filtrēšanas vispārējā sintakse ir šāda:

|

Izmantojamo filtru izmantošana

Tagad mēs aplūkosim Ansible filtru piemērus, kurus mēs varam izmantot dažādu uzdevumu veikšanai.

PIEZĪME: Kā jau minēts iepriekš, Ansible ir daudz filtru, tāpēc mēs nevaram tos visus aplūkot šajā rakstā. Tā vietā šī apmācība mēģina sniegt jums pamatus dažādu Ansible filtru izmantošanai.

1. piemērs: Ansible Format Data Filters

Iespējamie formāta datu filtri ņem izejas datu struktūru veidnē un izmanto norādīto filtru, lai to padarītu filtrā izsauktajā formātā.

Zemāk ir filtru piemērs, lai pārveidotu par JSON un YAML:

mainīgais | to_json
mainīgais | to_yaml

Piemēram, apsveriet šo rotaļlietu grāmatu:

- saimnieki: visi uzdevumi:
- apvalks: kaķis / tmp / visi.json
reģistrēties: rezultāts
- atkļūdošana:
msg: "rezultāts.stdout | to_nice_yaml "

Palaižot iepriekš minēto atskaņošanas grāmatu, tiks izveidota izvade JSON datiem, kas pārveidoti par YAML. Šis ir izvades piemērs:

Varat arī norādīt citus filtrus, piemēram, to_nice_yaml, lai iegūtu izvadi cilvēkiem lasāmā formātā.

mainīgais | to_nice_json
mainīgais | to_nice_yaml

Izmantojot formatēšanas datu filtrus, datus var pārveidot dažādos formātos un izmantot dažādiem uzdevumiem.

Piemēram, jūs varat nodot vairāku dokumentu YAML virkņu parsēšanu, kā norādīts tālāk sniegtajā grāmatā:

- saimnieki: visi uzdevumi:
- apvalks: kaķis / tmp / visi.json
reģistrēties: rezultāts
- atkļūdošana:
msg: "rezultāts.stdout | to_yaml | saraksts "

2. piemērs: Ansible Default Filter

Iespējamais noklusējuma filtrs palīdz noklusējuma vērtības noteikt nedefinētiem mainīgajiem. Pēc noklusējuma konfigurācija Ansible neizdodas definētus mainīgos. Piemēram, ja jums ir nedefinēts mainīgais, jūs varat pateikt Ansible noklusējuma vērtību, nevis palielināt kļūdu.

Noklusējuma filtra vispārējā sintakse ir šāda:

| noklusējums (vērtība)

Piemēram:

- saimnieki: visi
vars:
uzdevumi:
set_fact:
undef_var: "0_var | noklusējums (5)"

Iepriekš minētā rokasgrāmata iestatīs mainīgā “0_var” vērtību uz 5, ja tā nav skaidri definēta, nevis kļūdas izmešanas gadījumā.

Lai definētu mainīgo, varat izmantot obligāto filtru. Viss, kas jums jādara, ir atsaukties uz iepriekš minēto piemēru un aizstāt noklusējumu ar obligāto:

0_var | obligāts

3. piemērs: anulējami atkļūdošanas filtri

Atkļūdojot, varat izmantot type_debug filtru, lai iegūtu informāciju par mainīgā tipu. Mainīgā tips būs Python, jo dzinējs ir balstīts uz Python. Filtra vispārējā sintakse ir šāda:

mainīgais | type_debug

4. piemērs: matemātikas filtri

Iespējamie matemātikas filtri ļauj veikt ar matemātiku saistītus vaicājumus. Šie filtri ietver:

  1. Logaritma filtrs - mainīgais | log - iekavās norāda logaritma pamatu kā mainīgais | žurnāls (2)
  2. Jaudas filtrs - mainīgais | pow (3) - atgriež paaugstināto mainīgo uz norādīto jaudu
  3. Absolūtais filtrs - mainīgais | abs - atgriež nodotā ​​mainīgā absolūto vērtību
  4. Sakņu filtrs - mainīgais | root - atgriež mainīgā kvadrātsakni. Lai skaidri norādītu sakni, nododiet vērtību iekavās; piemēram, kuba sakne mainīgais | sakne (3)

Šie matemātikas filtri var būt diezgan noderīgi, it īpaši, ja tiek galā ar lielu datu apjomu un tūlītējām matemātikas operācijām.

5. piemērs: Hash filtri

Iespējamie jaukšanas filtri ļauj iegūt virknes vai nodoto datu jaukšanu. Lielākoties šie filtri jums nebūs vajadzīgi, taču tie ir pieejami lietošanai, ja rodas tāda nepieciešamība. Šie filtri ietver:

  1. Sha1 - var | hash (“sha1”)
  2. Sha256 / sha512 - var | password_hash (“sha256 / 512”)
  3. Md5 - var | jaucējkrāsa (“md5”)
  4. Virknes kontrolsumma - var | kontrolsumma

Citi noderīgi filtri

Kā jūs, iespējams, pamanījāt, Ansible ir daudz filtru. Daži Ansible filtri, kas jums var šķist noderīgi, ir šādi:

  • URL sadalīšanas filtrs - “[Aizsargāts ar e-pastu]: // linuxhint.com: 8080 / indekss.html?vaicājums = linux ”| urlspilt (“resursdatora nosaukums”), - atgriež “linuxhint.com ”
  • Pievienošanās saraksts - saraksts | pievienoties - izmanto, lai pievienotu sarakstu virknes var
  • Direktorija ceļš - ceļš | dirname
  • Paplašiniet tildi - ceļš | paplašinātājs

Secinājums

Iespējamie filtri ir noderīgi, ja veicat atkļūdošanas uzdevumus vai jums nepieciešama īpaša informācija, pārāk daudz nerakstot. Tā kā Ansible atbalsta pielāgotos filtrus, šie filtri var būt īpaši noderīgi īpašos lietošanas gadījumos.

Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...