Pokročilý YAML

CI/CD pro Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Víceřádkové řetězce: formát blokového skaláru

  • Reprezentace víceřádkových řetězců nebo bloků textu
    • Fragmenty kódu (příkazy shellu)
    • Odstavce (logy)
    • Konfigurační soubory

Hierarchický diagram YAML blokového řetězce s zvýrazněným kořenovým uzlem „Block String".

CI/CD pro Machine Learning

Indikátory stylu – literální

  • Literální styl (|): zachovává zalomení řádků a odsazení
  • Vhodné pro zápis příkazů shellu
commands: |
  echo "Running python script..."
  python3 script.py

Hierarchický diagram YAML blokového řetězce s zvýrazněným uzlem „Literal Style".

CI/CD pro Machine Learning

Příklad literálního stylu

Příklad YAML textu v literálním stylu. Text je uvozen symbolem „|".

Výstup textu zapsaného v literálním stylu YAML.

1 https://yaml-multiline.info/
CI/CD pro Machine Learning

Indikátory stylu – fold

  • Styl fold (>): odstraňuje zalomení řádků
  • Vhodné pro víceřádkové zprávy jako odstavce
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

Hierarchický diagram YAML blokového řetězce s zvýrazněným uzlem „Fold Style".

CI/CD pro Machine Learning

Příklad stylu fold

Příklad YAML textu ve stylu fold. Text je uvozen symbolem „>".

Výstup textu zapsaného ve stylu fold v YAML.

1 https://yaml-multiline.info/
CI/CD pro Machine Learning

Indikátory chomping

  • Řídí chování zalomení řádků na konci řetězce
  • Přidávají se za indikátory stylu
  • clip: výchozí režim, jedno zalomení na konci
    • Nevyžaduje žádný symbol

Hierarchický diagram YAML blokového řetězce s zvýrazněným uzlem „Clip Chomping indicator".

CI/CD pro Machine Learning

Indikátory chomping – strip

  • strip (-): odstraní všechna zalomení řádků na konci

Hierarchický diagram YAML blokového řetězce s zvýrazněným uzlem „Strip Chomping indicator".

CI/CD pro Machine Learning

Příklad strip chompingu

Příklad YAML textu v literálním stylu se strip chompingem. Text je uvozen symbolem „|-".

Výstup textu v literálním stylu YAML se strip chompingem. Ten odstraní všechna zalomení na konci.

1 https://yaml-multiline.info/
CI/CD pro Machine Learning

Indikátory chomping – keep

  • keep (+): zachová všechna zalomení řádků na konci

Hierarchický diagram YAML blokového řetězce s zvýrazněným uzlem „Keep Chomping indicator".

CI/CD pro Machine Learning

Příklad keep chompingu

Příklad YAML textu v literálním stylu s keep chompingem. Text je uvozen symbolem „|+".

Výstup textu v literálním stylu YAML s keep chompingem. Ten neodstraní žádná zalomení na konci.

1 https://yaml-multiline.info/
CI/CD pro Machine Learning

Dynamické vkládání hodnot

  • Výrazy umožňují parserům dynamicky dosazovat hodnoty
  • Použití:
    • Proměnné prostředí
    • Odkazy na jiné části YAML
  • Typicky reprezentovány jako ${{ ... }}
database:
  host: ${{ config.database.host }}
  port: ${{ config.database.port }}
  username: ${{ config.database.username }}
  password: ${{ config.database.password }}
CI/CD pro Machine Learning

Vícedokumentový YAML

  • Více samostatných YAML dokumentů v jednom souboru
  • Každý dokument obsahuje platný YAML obsah
  • Snadná organizace příbuzných dokumentů
  • Dokumenty se oddělují třemi pomlčkami –––
___
- name: John
  age: 30
___
- name: Jane
  age: 28
___
- name: Bob
  age: 35
  occupation: Developer
CI/CD pro Machine Learning

Shrnutí

Název Symbol YAML
Indikátor literálního stylu |
Indikátor stylu fold >
Indikátor strip chomping
Indikátor keep chomping +
Výrazy ${{ ... }}
Vícedokumentový YAML –––
CI/CD pro Machine Learning

Pojďme cvičit!

CI/CD pro Machine Learning

Preparing Video For Download...