YAML ist eine beliebtes Format zur Datenserialisierungs, das sich
durch seine Einfachheit und Lesbarkeit auszeichnet. Es wird häufig
verwendet, um Konfigurationsdateien zu schreiben, Daten zu persistieren,
Internet-Messaging zu ermöglichen und Daten zwischen verschiedenen
Programmiersprachen auszutauschen. YAML-Dateien haben entweder die
Erweiterung .yaml oder
.yml. Es ist bekannt für seine breite
Anwendung in der DevOps-Domäne, wo es mit Werkzeugen wie Kubernetes,
Ansible und Terraform verwendet wird.

YAML definiert drei Hauptknotentypen: 1. Mappings / Dictionaries: - Ungeordnete Sammlungen von Schlüssel-Wert-Paaren, wobei jeder Schlüssel einzigartig sein muss.
name: "YAML Ain't Markup Language"
type: awesome
born: 2001languages:
- YAML
- JAVA
- XML
- Python
- Cmessage: "Hello, World!"Die Einrückung wird verwendet, um die Verschachtelung anzuzeigen, wobei nur Leerzeichen (nicht Tabs) für die Einrückung verwendet werden dürfen. Die Anzahl der für die Einrückung verwendeten Leerzeichen ist nicht festgelegt, muss jedoch konsistent sein.
Strings müssen nicht zitiert werden, es sei denn, sie enthalten spezielle Zeichen oder Werte, die missverstanden werden könnten. Es gibt zwei spezielle Formen von Strings in YAML:
>) interpretiert werden.message: >
even though
it looks like
this is a multiline message,
it is actually not|) als Blöcke
interpretiert werden, wobei die Newline-Zeichen erhalten bleiben.message: |
this is
a real multiline
messageEin einfacher Überblick über eine YAML-Datei:
---
# Eine Beispiel-YAML-Datei
company: spacelift
domain:
- devops
- devsecops
tutorial:
- yaml:
name: "YAML Ain't Markup Language"
type: awesome
born: 2001
- json:
name: JavaScript Object Notation
type: great
born: 2001
- xml:
name: Extensible Markup Language
type: good
born: 1996
author: omkarbirade
published: trueYAML wird in einer Vielzahl von Szenarien eingesetzt, zum Beispiel in Kubernetes:
apiVersion: v1
kind: Pod
metadata:
name: apache-pod
labels:
app: webIn diesem Beispiel definiert die YAML-Datei die Version der API, die Art der Kubernetes-Ressource und Metadaten über die Ressource.
Es ist wichtig zu betonen, dass die korrekte Verwendung von Leerzeichen und Tabs entscheidend für die korrekte Funktionalität von YAML-Dateien ist. YAML setzt auf Einrückungen zur Darstellung von Verschachtelungen, wobei die Einrückungen ausschließlich mit Leerzeichen und nicht mit Tabulatoren erfolgen müssen. Ein häufiger Fehler, der gemacht wird, ist die Verwendung von Tabs anstelle von Leerzeichen oder eine inkonsistente Verwendung von Leerzeichen, was zu Syntaxfehlern und schwer zu diagnostizierenden Problemen führen kann.
Die Anzahl der Leerzeichen in einer Einrückung ist zwar nicht festgelegt, muss jedoch innerhalb einer Datei konsistent sein. Beispielsweise, wenn Sie mit zwei Leerzeichen einrücken, müssen Sie dies durchgängig in der gesamten YAML-Datei beibehalten. Ein Mischen von Einrückungsstilen kann zu unerwartetem Verhalten und Fehlern führen, die schwer zu erkennen und zu beheben sein können.
Es wird dringend empfohlen, ein Textbearbeitungsprogramm oder eine integrierte Entwicklungsumgebung (IDE) zu verwenden, die YAML-spezifische Syntaxhervorhebung und Einrückungskontrolle bietet, um diese Art von Fehlern zu minimieren. Darüber hinaus können YAML-Linter und Validatoren hilfreich sein, um Einrückungsfehler und andere Syntaxprobleme zu identifizieren, bevor die YAML-Dateien angewendet werden.