Pāriet uz saturu

YAML validators

Pārbaudiet YAML, lai atrastu sintakses kļūdas, pirms tās pārtrauc izvietošanu vai CI cauruļvadu. Validators parsē katru ievades dokumentu, izmantojot YAML 1.2 parsētāju, noraida dublētas atslēgas, atkāpei izmantotas tabulācijas un nekontrolētu aizstājvārdu izvēršanu, kā arī ziņo par pirmo kļūdu, norādot dokumentu, rindu un kolonnu. Ja ievade ir derīga, tiek parādīts dokumentu skaits, katra dokumenta augšējā līmeņa tips un visi brīdinājumi. Paredzēts Kubernetes, Docker Compose un konfigurāciju autoriem.

Atiestatīt

Bieži uzdotie jautājumi

Ko pārbauda YAML validators?

Tas parsē pilnu YAML sintaksi: atkāpes, bloka un plūsmas kolekcijas, pēdiņās ietvertus un parastus skalārus, enkurus, aizstājvārdus, tagus un direktīvas. Tas arī uzskata dublētas atslēgas kartējumā par kļūdu. Rezultātā tiek parādīts vai nu apstiprinājums ar īsu kopsavilkumu, vai arī pirmā kļūda, tās atrašanās vieta un paskaidrojums.

Kurai YAML versijai tas atbilst?

Validētājs izmanto YAML 1.2 pamatspecifikāciju — pašreizējo specifikācijas versiju. Saskaņā ar 1.2 tādi vārdi kā yes, no, on un off ir parastas virknes, nevis Būla vērtības, tāpēc tie nekad neizraisa kļūdu. Dokumenti, kas rakstīti rīkiem, kuri izmanto YAML 1.1, joprojām tiek pieņemti, ja to sintakse ir derīga.

Kāpēc dublētas atslēgas tiek norādītas kā kļūdas?

YAML specifikācija pieprasa, lai atslēgas kartējumā būtu unikālas. Daudzi parsētāji klusi patur pēdējo vērtību, tādējādi paslēpjot konfigurācijas kļūdas, piemēram, divreiz definētu iestatījumu. Validētājs norāda atkārtotās atslēgas rindu un kolonnu, lai varētu izlemt, kuru vērtību paturēt.

Kā tiek skaitītas rindas, kolonnas un dokumenti?

Rindu un kolonnu skaitīšana sākas ar 1 no ielīmētās ievades sākuma. Dokumentus skaita to parādīšanās secībā; tos atdala --- rindas, tāpēc pirmais dokuments ir dokuments 1. Norādītā pozīcija ir vieta, kur parsētājs konstatēja problēmu, un tā var būt tieši pēc pašas kļūdas.

Vai vienlaikus var validēt vairākus YAML dokumentus?

Jā. Atdaliet dokumentus ar ---, kā tas tiek darīts vairāku dokumentu Kubernetes manifestā, un tiks parsēts katrs dokuments. Ja rezultāts ir derīgs, tiek parādīts dokumentu skaits un katra dokumenta augstākā līmeņa tips.

Ko nozīmē augstākā līmeņa tips?

Tas norāda, kas atrodas katra dokumenta saknes līmenī: atslēgu un vērtību kartējums, vienumu secība, viena skalāra vērtība vai nekas. Vairums konfigurācijas failu ir kartējumi, savukārt resursu saraksti bieži ir secības. Nepareizs tips parasti nozīmē, ka defise vai atkāpe ir novietota nepareizi.

Kas ir brīdinājumi?

Brīdinājumi ir problēmas, kas neaptur parsēšanu, piemēram, parsētājam nezināma birka, kas pēc tam tiek nolasīta kā parasta vērtība. Katrs brīdinājums ir norādīts kopā ar tā rindu un kolonnu; tiek parādīti ne vairāk kā 20 brīdinājumi. Dokuments ar brīdinājumiem joprojām tiek uzskatīts par derīgu.

Kāpēc tabulatori tiek noraidīti?

YAML aizliedz izmantot tabulatorus atkāpēm, jo to platums nav viennozīmīgs. Aizstājiet tabulatorus norādītās rindas sākumā ar atstarpēm un saglabājiet atkāpes konsekventas ar apkārtējām rindām. Tabulatori vērtībās un pēdiņās ievietotās virknēs ir atļauti.

Vai tas ir aizsargāts pret aliasu uzbrukumiem?

Jā. Aliasi var izvērst ne vairāk kā 100 reizes, tāpēc dokuments, kas izveidots, lai aliasus pavairotu līdz gigabaitiem datu — šādu uzbrukumu bieži dēvē par billion laughs uzbrukumu — tiek atzīmēts kā nederīgs, nevis iztērēta visa atmiņa. Parasta enkuru un aliasu izmantošana kopīgiem iestatījumiem paliek krietni zem šī ierobežojuma.

Vai tas validē atbilstoši tādai shēmai kā Kubernetes vai OpenAPI?

Nē, tas pārbauda tikai sintaksi un struktūru, nevis to, vai atslēgas un vērtības atbilst konkrētai shēmai. Ievades apjoms var sasniegt 5 MiB. Lai derīgu YAML pārveidotu par JSON, TOML vai citu formātu, izmantojiet datu formāta pārveidotāju.

Par OneClick Pro

OneClick Pro ir bezmaksas vairāk nekā 150 tīmekļa rīku kolekcija ikdienas darbam: attēlu un mērvienību konvertēšanai, koda formatēšanai un validēšanai, domēnu un SEO pārbaudei, kā arī darbam ar tekstu, datumiem un skaitļiem. Katru rīku var izmantot bez reģistrācijas vai abonēšanas, un ievadītie dati tiek izmantoti tikai rezultāta aprēķināšanai un nekad netiek saglabāti. Izmantojiet to kā ātru rīku kopumu atsevišķiem uzdevumiem vai pievienojiet grāmatzīmēm rīkus, ko lietojat katru dienu.