Kompletny składnia i przykłady YAML

Kompletny składnia i przykłady YAML
YAML to język serializacji danych Yaml nie ma znaczenia językiem. Yaml zyskał popularność na przestrzeni lat i wie, czym jest, jego składnia i jak go używać, jest dodatkową zaletą. Jako DevOps, YAML jest najpopularniejszym i łatwym w użyciu językiem do pisania plików konfiguracyjnych dla Docker, Kubernetes i Ansible.

Yaml wykonuje to samo zadanie co JSON I XML, Tylko to, że oferuje bardziej ludzki format. W przypadku YAML koncentruje się na parach kluczowych, z głównym naciskiem na wcięcie i rozdzielenie linii. Poza tym YAML ma wiele zastosowań w wiadomościach internetowych, trwałości danych i wymianie danych w języku.

Ponadto Yaml znajduje swoje miejsce w istniejących technologiach, a technologie takie jak Docker przyjmują je jako nowoczesny sposób pisania plików konfiguracyjnych. Nawet w przypadku języków takich jak Python, mamy Pyyaml, który wspiera za pomocą YAML z Pythonem.

W tym przewodniku dowiemy się wszystkiego o YAML, od składni po przykłady, upewniając się, że na końcu wyjdziesz jako YAML Pro. Zacznijmy.

Dlaczego warto korzystać z YAML

JSON i XML to popularne sposoby pisania plików konfiguracyjnych. Jednak Yaml zyskuje większą popularność, a oto następujące powody:

  1. YAML oferuje bardziej czytelne przez ludzi kod.
  2. Możesz używać ciągów z YAML bez zamknięcia ich znakami cytatowymi.
  3. YAML jest zaprojektowany do obsługi danych. Jest to wyłącznie język serializacji danych.
  4. Ma zaawansowane funkcje, takie jak relacyjne kotwice i rozszerzalne typy danych.
  5. Możesz dodać komentarze do swojego pliku YAML.
  6. YAML oferuje prostą składnię, a jego styl wbudowany jest Superset of Json.
  7. Może być używany ze wszystkimi nowoczesnymi językami programowania.

Plik YAML może wziąć .yml Lub .Yaml rozszerzenie.

Składnia YAML

Kluczową różnicą między YAML i XML lub JSON jest sposób, w jaki definiuje się strukturę danych. W przypadku YAML definicja opiera się na wcięciu linii i separacji linii. Niewłaściwe odstępy dla YAML podniosą błąd, ale to sprawia, że ​​Yaml jest opcją czytania człowieka wśród trzech opcji.

Podczas pracy z YAML składnia koncentruje się głównie na parach kluczowych, obiektów, listach, komentarzach, ciągach wieloletnich itp. Opiszmy każdy szczegółowo i podajmy przykłady.

Pary wartości kluczowej

Podczas korzystania z YAML większość elementów przyjmuje format pary wartości kluczowej. Klucz oznacza nazwę pary, a dane dołączone do klucza to wartość. Pojedyncza przechowywana wartość staje się skalar. To z par kluczowych, które powstają inne konstrukcje dla YAML.

Para kluczowej wartości jest reprezentowana jako mapowanie, w którym mapowanie kojarzy węzły wartości nieopisanych. Idealnie, tworzone jest mapowanie przez definiowanie jego nazwa, a następnie okrężnica, A przestrzeń, i jego wartość.

Oto prosta para wartości kluczowej dla pliku konfiguracyjnego.

Wcześniej zauważasz, że mapowanie jest zgodne z składnią wartości kluczowej. W pierwszym wierszu kluczem jest kurs, a jego wartość to Wprowadzenie YAML.

Zauważ, że wgłębienie musi być takie samo. W przeciwnym razie podniesie błąd jak na poniższym obrazie:

Praca ze strinami

W przeciwieństwie do JSON i XML, YAML nie wymaga zamknięcia strun z pojedynczymi lub podwójnymi znakami cytatowymi. Niezależnie od tego, czy zamkniesz je w cudzysłowie, czy nie, XML nadal przechwytuje wartość jako ciąg.

Poniższy przykład pokazuje różne sposoby reprezentowania łańcucha w YAML:

Podczas pracy z postaciami specjalnymi, takimi jak nowa postać \N, Powinieneś otrzymać ciąg, aby uniknąć traktowania go jako standardowego ciągu zamiast charakteru specjalnego.

To sprawia, że ​​Yaml rozpoznaje charakter specjalny i obsługuje go zgodnie z oczekiwaniami.

W przypadku ciągów możesz sprawić, że YAML rozpoznaje pojedynczy i wieloletni ciąg, w zależności od tego, jak go reprezentujesz.

Jeśli masz długie zdanie, które chcesz włamać się do wielu zdań, ale chcesz, aby został traktowany przez parsera jako pojedynczy linię, reprezentuj je, jak pokazano poniżej:

Tutaj sztuczka polega na dodaniu Lepszy niż podpisać (>) tak aby parser mógł traktować wartość jako pojedynczą linię. Musisz także upewnić się, że każda linia ma to samo wcięcie. W przeciwnym razie otrzymasz błąd w parze wartości kluczowej.

Aby dodać do większego niż znak, musimy określić, czy chcemy, aby ostatni postać został zachowany podczas przetwarzania. W poprzednim przypadku chcieliśmy zachować każdą ostatnią postać każdej linii. Dlatego musimy użyć >+ symbol.

Jeśli chcesz przelecieć każdą z poprzednich linii za pomocą \N Aby dodać nową linię, użyj rura (|) Zamiast tego symbol.

Oto jak wyglądałby nowy kod. Możesz wybrać ostatnią postać, dodając Plus (+) lub nie zachowaj go, dodając minus (-).

Dzięki tej metodzie ciesz się czystszym sposobem utworzenia nowej linii dla akapitu zamiast dodawania \ n na końcu.

Liczby

Możesz używać liczb jako części skalarów w pliku YAML. YAML pozwala na użycie wykładniczego, ośmiokątnego, dziesiętnego, liczb całkowitych, pływających wartości i sześciokątnej. Z YAML nie musisz podkreślać typu liczby.

Po prostu dodaj go i pod warunkiem, że nie ma cytatów, Yaml rozpozna je jako liczbę, w następujący sposób:

Boolean

YAML obsługuje przy użyciu wartości logicznych podobnych do sposobu zastosowania ich w różnych językach programowania. Dzięki YAML możesz utworzyć parę wartości kluczowej, w której może być wartość Tak/Nie, włączanie/wyłączenie, I prawda fałsz. Jeśli nie chcesz, aby skalar był traktowany jako boolean, załóż go do cytatów.

Oto następujący przykład używania boolean z YAML:

Te trzy to wspólne wartości logiczne, które rozpoznaje YAML.

Uwagi

YAML pozwala na dodawanie komentarzy. Aby użyć komentarza, użyj # Przed wierszem komentarzy, a Yaml pominnie linię komentarzy.

Zauważ, że wcięcie lub odstępy liniowe komentarza niczego nie wpływają.

Zero

W przypadku, w którym masz zerową, YAML pozwala reprezentować go za pomocą Tylde (~) Lub zero Słowo kluczowe.

Spójrz na następujący przykład:

Każda z poprzednich opcji będzie działać w Twojej sprawie.

Obiekty

Tworząc obiekty, musisz umieścić wszystkie ich atrybuty na tym samym poziomie wcięcia. Wcięcie oddziela nazwę obiektu i atrybuty. W ten sposób parser rozpozna, że ​​stworzyłeś obiekt.

Podajmy następujący przykład:

Na poprzednim obrazie zwróć uwagę, w jaki sposób każdy atrybut jest wcięty na jedną szerokość z marginesu, a wszystkie atrybuty mają takie same wcięcie. Możesz mieć dowolny danych w swoim obiekcie.

W ten sposób reprezentujesz obiekt w YAML.

Lista

Aby reprezentować listę, dodaj łącznik. Lista można utworzyć z obiektu, w którym masz obiekt o różnych podkategoriach atrybutów. Upewnij się, że dodajesz prawidłowe wcięcie i separację linii, aby wykonać prawidłowy plik YAML.

W poprzednim przykładzie mamy listę członków zawierających nazwisko każdego członka, wiek i karierę.

Możliwe jest utworzenie zagnieżdżonej listy z atrybutu obiektu. Może to być jeden z atrybutów, które mają dużą wartość. W takim przypadku możesz utworzyć zagnieżdżoną listę w YAML, jak pokazano poniżej:

W przypadku zagnieżdżonej listy użyj łącznika, aby przedstawić prymitywne dane pod atrybutem i upewnij się, że dodajesz wymagane wcięcie i odstępy liniowe.

Alternatywnie możesz przedstawić prymitywne dane na jednym wierszu, aby utworzyć czystszy kod. Oto jak można wyrazić tę samą zagnieżdżoną listę.

Nadal będzie analizowany jako lista/tablica Yaml.

Praca z wieloma plikami YAML

Dobra wiadomość z YAML jest taka, że ​​umożliwia pracę z wieloma plikami YAML na jednym dokumencie. Ta funkcja jest przydatna dla kogoś, kto pisze plik konfiguracyjny dla takich rzeczy jak Docker Tools. Poprawia się, ponieważ możesz mieć tę samą nazwę kluczową w dokumencie, ale pod innym plikiem YAML.

Pracować z wieloma plikami YAML i Triple Hyphens (-) Aby zasygnalizować początek pierwszego pliku YAML i powtórz to samo dla drugiego pliku.

Oto przykład dokumentu z trzema plikami YAML.

Musisz dodać trzy łączniki dla ostatniego pliku, aby zasygnalizować koniec.

Wdrażanie kotwic i alias

W przypadku dużego pliku konfiguracyjnego dana konfiguracja prawdopodobnie zostanie powtórzona w innym miejscu w pliku YAML. W takim przypadku doprowadzi to do powielania, a niepotrzebne linie będą używane.

Na szczęście YAML pozwala na używanie kotwice (i) I Alias ​​(*) Aby uniknąć tego powielania. Miejmy następujący przykład pliku konfiguracyjnego:

W poprzednim przykładzie zwróć uwagę, w jaki sposób zduplikowaliśmy szczegóły konfiguracji dla wszystkich kopnięć. Możemy tego uniknąć, używając kotwic do zdefiniowania fragmentu konfiguracyjnego, a następnie używając aliasów w odniesieniu do zdefiniowanej części w innym miejscu kodu.

To powiedziawszy, oto jak możemy przepisać wcześniejszy plik konfiguracyjny, eliminując duplikację.

Mamy teraz czystszy i uproszczony kod bez powielania. Używanie aliasu i kotwicy przydaje się, gdy szczegóły konfiguracji są takie same dla wszystkich elementów. Możemy jednak mieć kopnięcie z różnymi czasami próbnymi lub wersjami dla naszego przykładu.

W takim przypadku wywołujemy zastępuje (<<:) Aby zmienić szczegóły kotwicy bez konieczności ponownego przepisywania.

Oto przykład wdrożenia scenariusza zastępowania Kick2 i Kick3.

Nadal mamy uproszczony kod.

Notatka że zawsze możesz sprawdzić, czy Twój plik YAML jest prawidłowy za pomocą wybranego parsera online. Jeśli masz błąd wcięcia lub odstępów linii, wyświetli się to wyjście błędu, aby pomóc Ci debugować plik, jak w poniższym przykładzie:

Praca ze zmiennymi środowiskowymi

Podczas tworzenia pliku YAML możesz użyć zmiennej środowiskowej, wywołując ją za pomocą znaku dolara. Na przykład możesz użyć $ Użytkownik Zmienna środowiskowa podczas zapisywania pliku konfiguracyjnego, który wymaga szczegółów logowania Linuksa.

Aby to zrobić, użyj zmiennej środowiskowej jako $ Użytkownik, a parser przyniesie wartość określonej zmiennej środowiskowej.

Wniosek

YAML to zaawansowany sposób tworzenia plików konfiguracyjnych i oferuje lepszą składnię do użycia z Docker, Ansible i Kubernetes niż XML lub JSON. Dzięki YAML otrzymujesz czyszczący kod, co oznacza, że ​​każdy może podążać. Ten przewodnik przedstawił główne koncepcje korzystania z YAML. Widzieliśmy składnię do podążania dla YAML i otrzymaliśmy różne przykłady, które pomogą Ci komfortowo używać YAML do twoich czynności. Ćwicz dalej, aby zrozumieć składnię, a pokochasz prostotę, jaką jest YAML.