Uživatelské nástroje

Nástroje pro tento web


yaml

YAML (YAML Ain't Markup Language)

YAML je lidsky čitelný standard pro serializaci dat. Je navržen tak, aby byl snadno čitelný pro lidi a zároveň jednoduchý na zpracování pro stroje. V dnešním IT světě se stal de facto standardem pro konfigurační soubory, zejména v oblasti DevOps a Cloud computingu.

Název je rekurzivní zkratka, která zdůrazňuje, že YAML není značkovací jazyk (jako XML nebo HTML), ale zaměřuje se čistě na data.

Základní syntaxe a pravidla

YAML má několik striktních pravidel, která musíte dodržovat:

  • Odsazování (Indentation): K definování struktury se používají výhradně mezery, nikoliv tabulátory. Počet mezer musí být konzistentní (obvykle 2 nebo 4).
  • Case sensitivity: Rozlišují se malá a velká písmena.
  • Kódování: Soubory musí být v kódování UTF-8.
  • Přípona: Obvykle .yaml nebo .yml.

Datové struktury v YAML

1. Klíč a hodnota (Maps/Dictionaries)

Základní stavební kámen. Odděluje se dvojtečkou s mezerou.

verze: 3.8
nazev: "Moje Aplikace"
aktivni: true

2. Seznamy (Lists/Sequences)

Prvky seznamu začínají pomlčkou následovanou mezerou.

servery:
  - web01
  - web02
  - db01

3. Vnořené objekty

Struktura se vytváří odsazením.

databaze:
  host: localhost
  port: 5432
  uzivatel: admin

Pokročilé techniky

Víceřádkové řetězce

YAML umožňuje elegantně zapisovat dlouhé texty (např. skripty nebo certifikáty):

  • Znak | (Literal): Zachovává konce řádků.
  • Znak > (Folded): Nahradí konce řádků mezerou (vytvoří jeden dlouhý odstavec).

Komentáře

Na rozdíl od JSON podporuje YAML komentáře pomocí znaku #.

# Toto je konfigurace pro produkci
env: prod

Více dokumentů v jednom souboru

Můžete oddělit několik logických dokumentů pomocí tří pomlček (—). To se hojně využívá v Kubernetes manifestech.

Srovnání: YAML vs JSON vs XML

Vlastnost YAML JSON XML
Čitelnost Výborná Dobrá Horší
Komentáře Ano Ne Ano
Struktura Odsazení Závorky {}, [] Tagy <tag>
Typování Automatické Striktní Textové

Časté chyby

  • Tabulátory: Použití tabulátoru místo mezer je nejčastější příčinou chyby „mapping values are not allowed here“.
  • Chybějící mezera: Dvojtečka musí být následována mezerou (klíč:hodnota je špatně, klíč: hodnota je správně).
  • Špatné odsazení: Pokud prvek seznamu nezačíná na správné úrovni, změní se celá sémantika dokumentu.
Tip: Pro kontrolu správnosti syntaxe se doporučuje používat nástroje zvané YAML Linters nebo online validátory. V editoru VS Code je užitečné rozšíření „Red Hat YAML“.

Zpět na Data

yaml.txt · Poslední úprava: autor: admin