YAML [1] ist aus der DevOps-Welt nicht mehr wegzudenken. Tatsächlich ist es so, dass YAML eine Obermenge von JSON [2], JavaScript Object Notation, darstellt. Der Focus von JSON liegt dabei allerdings eher in der Serialisierung von Daten, also beispielsweise um diese über eine API zur Verfügung zu stellen.
Im Gegensatz dazu spielt YAML seine Stärken aus, wenn es als Konfigurationssprache zum Einsatz kommt, da das Format doch besser lesbar ist als JSON. Und Python-Programmierer lieben YAML sowieso, da im Gegensatz zu JSON keine Klammern zur Definition von Objekten zum Einsatz kommen, sondern stattdessen Einrückungen stattfinden.
Listing 1 zeigt ein einfaches YAML-Dokument. Ein solches Dokument beginnt mit der Zeichenkette "---", wodurch eine Datei durchaus mehrere solcher Dokumente enthalten kann. Im Anschluss folgen typische Key/Value-Paare, die Sie wahrscheinlich schon von JSON kennen. Beim erstem Schlüsselpaar handelt es sich um einen einfachen Skalar mit einem String-Wert. Neben Strings sind natürlich auch Zahlen und Booleans zulässig. Im Anschluss folgt eine Liste, also ein Sammlung von Objekten. In diesem Fall kommen ausschließlich numerische Werte zum Einsatz, die jeweils mithilfe von Leerzeichen eingerückt sind.
Listing 1: YAML-Objekte
--- name: starwars-kollektion erscheinungsjahr: - 1977 - 1980 - 1983 filme: # An dieser Stelle werden lediglich Filme aus der Original-Trilogie (OT) aufgeführt. ot: - Episode IV – Eine neue Hoffnung - Episode V – Das Imperium schlägt zurück - "Episode VI – Die Rückkehr der Jedi-Ritter"
Auf Tabs sollten Sie wenn möglich verzichten, da diese immer wieder zu Problemen bei der Verarbeitung der Daten führen
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.