YAML voor gevorderden

CI/CD voor Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Multiregelstrings: Block scalar-formaat

  • Voor multiregelstrings of tekstblokken
    • Codesnippets (shell-opdrachten)
    • Alinea’s (logs)
    • Configuratiebestanden

Een hiërarchische weergave van YAML Block string, met de root "Block String" gemarkeerd.

CI/CD voor Machine Learning

Stijlindicatoren - letterlijk

  • Letterlijke stijl (|): behoudt regeleinden en inspringing
  • Handig voor shell-opdrachten
commands: |
  echo "Running python script..."
  python3 script.py

Een hiërarchische weergave van YAML Block string, met het blad "Letterlijke stijl" gemarkeerd.

CI/CD voor Machine Learning

Voorbeeld letterlijke stijl

YAML-voorbeeld van tekst in letterlijke multiregelstijl. De tekst wordt voorafgegaan door het symbool "|".

Output van tekst geschreven in YAML letterlijke multiregelstijl.

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

Stijlindicatoren - fold

  • Fold-stijl (>): verwijdert regeleinden
  • Handig voor ingepakte tekst zoals alinea’s
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

Een hiërarchische weergave van YAML Block string, met het blad "Fold-stijl" gemarkeerd.

CI/CD voor Machine Learning

Voorbeeld fold-stijl

YAML-voorbeeld van tekst in fold-multiregelstijl. De tekst wordt voorafgegaan door het symbool ">".

Output van tekst geschreven in YAML fold-multiregelstijl.

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

Chomping-indicatoren

  • Bepaal het gedrag van regeleinden aan het einde van de string
  • Toegevoegd na de stijlindicatoren
  • clip: standaard, één regeleinde aan het einde
    • Geen extra symbool nodig

Een hiërarchische weergave van YAML Block string, met het blad "Clip chomping-indicator" gemarkeerd.

CI/CD voor Machine Learning

Chomping-indicatoren - strip

  • strip (-): verwijdert alle regeleinden aan het einde

Een hiërarchische weergave van YAML Block string, met het blad "Strip chomping-indicator" gemarkeerd.

CI/CD voor Machine Learning

Voorbeeld strip-chomping

YAML-voorbeeld van tekst in letterlijke multiregelstijl met strip-chomping. De tekst wordt voorafgegaan door het symbool "|-".

Output van tekst in YAML letterlijke multiregelstijl met strip-chomping. Dit verwijdert alle regeleinden aan het einde.

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

Chomping-indicatoren - keep

  • keep (+): behoudt alle regeleinden aan het einde

Een hiërarchische weergave van YAML Block string, met het blad "Keep chomping-indicator" gemarkeerd.

CI/CD voor Machine Learning

Voorbeeld keep-chomping

YAML-voorbeeld van tekst in letterlijke multiregelstijl met keep-chomping. De tekst wordt voorafgegaan door het symbool "|+".

Output van tekst in YAML letterlijke multiregelstijl met keep-chomping. Dit verwijdert geen regeleinden aan het einde.

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

Dynamische waarde-injectie

  • Expressies laten parsers waarden dynamisch invullen
  • Gebruik:
    • Omgevingsvariabelen
    • Verwijzingen naar andere delen van YAML
  • Meestal weergegeven als ${{ ... }}
database:
  host: ${{ config.database.host }}
  port: ${{ config.database.port }}
  username: ${{ config.database.username }}
  password: ${{ config.database.password }}
CI/CD voor Machine Learning

Multi-document YAML

  • Meerdere losse YAML-documenten in één bestand
  • Elk document bevat geldige YAML
  • Makkelijk groeperen per onderwerp
  • Scheid documenten met drie streepjes –––
___
- name: John
  age: 30
___
- name: Jane
  age: 28
___
- name: Bob
  age: 35
  occupation: Developer
CI/CD voor Machine Learning

Samenvatting

Naam YAML-symbool
Literal-stijlindicator |
Fold-stijlindicator >
Strip chomping-indicator −
Keep chomping-indicator +
Expressies ${{ ... }}
Multi-document YAML –––
CI/CD voor Machine Learning

Laten we oefenen!

CI/CD voor Machine Learning

Preparing Video For Download...