Yaml führt die gleiche Aufgabe aus wie JSON Und Xml, Nur dass es ein menschlich lesbares Format bietet. Mit YAML liegt sein Fokus auf Schlüsselwertpaaren, wobei der Schwerpunkt auf Eindrücke und Linientrennung liegt. Außerdem hat YAML viele Verwendungszwecke in Bezug.
Darüber hinaus findet YAML seinen Platz in vorhandenen Technologien, und Technologien wie Docker übernehmen ihn als moderne Art, Konfigurationsdateien zu schreiben. Selbst für Sprachen wie Python haben wir das Pyyaml, das unterstützt die Verwendung von Yaml mit Python.
In diesem Leitfaden lernen wir alles über YAML, von der Syntax bis zu den Beispielen, um sicherzustellen, dass Sie am Ende als Yaml -Profi herauskommen. Lass uns anfangen.
Warum Yaml verwenden?
JSON und XML sind beliebte Möglichkeiten zum Schreiben von Konfigurationsdateien. YAML gewinnt jedoch an Popularität, und hier sind die folgenden Gründe:
Die YAML -Datei kann die nehmen .YML oder .Yaml Verlängerung.
Yaml -Syntax
Der Hauptunterschied zwischen YAML und XML oder JSON besteht darin, wie die Datenstruktur definiert wird. Für YAML basiert die Definition auf der Linieneinspannung und der Linientrennung. Ein falscher Abstand für YAML erhöht einen Fehler, der YAML jedoch zu einer menschlichen lesbaren Option unter den drei Optionen macht.
Bei der Arbeit mit YAML befindet sich die Syntax hauptsächlich auf Schlüsselwertpaare, Objekte, Listen, Kommentare, Multi-Line-Zeichenfolgen usw. Lassen Sie uns jeweils im Detail abdecken und Beispiele angeben.
Schlüsselwertpaare
Bei der Verwendung von YAML nehmen die meisten Elemente das Schlüssel-Wert-Paar-Format an. Der Schlüssel steht für den Namen des Paares, und die an den Schlüssel angehängten Daten sind der Wert. Ein einziger gespeicherter Wert wird zum Skalar. Es stammt aus den Schlüsselwertpaaren, dass andere Konstruktionen für YAML gegründet werden.
Das Schlüsselwertpaar wird als Zuordnung dargestellt, bei dem die Mapping nicht ordnungsgemäße Schlüsselwertknoten assoziiert. Idealerweise wird eine Zuordnung erstellt, indem deren definiert wird Name, gefolgt von der Doppelpunkt, A Raum, und sein Wert.
Hier ist ein einfaches Schlüsselwertpaar für eine Konfigurationsdatei.
Zuvor stellen Sie fest, dass die Zuordnung der Schlüsselwertsyntax folgt. In der ersten Zeile ist der Schlüssel der Kurs, und sein Wert ist der Yaml Einführung.
Beachten Sie, dass die Eindrücke der gleiche sein muss. Andernfalls wird ein Fehler wie im folgenden Bild angezeigt:
Arbeiten mit Saiten
Im Gegensatz zu JSON und XML erfordert YAML keine Zeichenfolgen mit einzelnen oder doppelten Anführungszeichen,. Unabhängig davon, ob Sie sie in Anführungszeichen einschließen oder nicht, erfasst XML den Wert immer noch als Zeichenfolge.
Das folgende Beispiel zeigt die verschiedenen Möglichkeiten, eine Zeichenfolge in YAML darzustellen:
Bei der Arbeit mit Sonderfiguren wie dem Newline -Charakter \N, Sie sollten die Zeichenfolge einschließen, um zu vermeiden, dass Yaml sie als Standard -Zeichenfolge anstelle eines speziellen Zeichens behandelt.
Wenn Sie dies tun, erkennt Yaml den besonderen Charakter und behandeln Sie ihn wie erwartet.
Für Saiten können Sie YAML eine einzelne und multi-Linie-Zeichenfolge erkennen lassen, je nachdem, wie Sie sie darstellen.
Wenn Sie einen langen Satz haben, den Sie in mehrere Sätze einbrechen möchten, aber von dem Parser als einzelne Zeile behandelt werden, stellen Sie ihn wie unten gezeigt dar:
Hier ist der Trick, das hinzuzufügen größer als Zeichen (>)) so dass der Parser den Wert als einzelne Zeile behandeln kann. Außerdem müssen Sie sicherstellen, dass jede Linie die gleiche Einkerbung hat. Andernfalls erhalten Sie einen Fehler in Ihrem Schlüsselwertpaar.
Um das größere als Zeichen hinzuzufügen, müssen wir angeben, ob wir möchten, dass der letzte Charakter bei der Verarbeitung aufbewahrt wird. Im vorherigen Fall wollten wir, dass jeder letzte Charakter jeder Zeile erhalten bleibt. Daher müssen wir die verwenden >+ Symbol.
Wenn Sie jede der vorherigen Zeilen mit a verfolgen möchten \N Verwenden Sie die neue Zeile, um eine neue Zeile hinzuzufügen, die Pfeife (|) Symbol stattdessen.
So würde der neue Code aussehen. Sie können das letzte Zeichen beibehalten, indem Sie a hinzufügen Plus (+) Oder behalten Sie es nicht durch Hinzufügen eines Minus (-).
Mit dieser Methode genießen Sie eine sauberere Art, eine neue Linie für den Absatz zu erstellen, anstatt das \ n am Ende hinzuzufügen.
Zahlen
Sie können Zahlen als Teil der Skalare in Ihrer YAML -Datei verwenden. YAML ermöglicht die Verwendung von Exponential, Oktal, Dezimalheit, Ganzzahlen, schwebenden Werten und Hexadezimal. Mit YAML müssen Sie den Zahlentyp nicht hervorheben.
Fügen Sie es einfach hinzu, und vorausgesetzt, es gibt keine Zitate. Yaml wird es wie folgt als eine Nummer erkennen:
Boolean
YAML unterstützt die Verwendung von booleschen Werten, die ähnlich wie Sie sie mit verschiedenen Programmiersprachen anwenden können. Mit YAML können Sie ein Schlüsselwertpaar erstellen, bei dem der Wert sein kann Ja/Nein, ein/aus, Und wahr falsch. Wenn Sie nicht möchten, dass der Skalar als Booleschen behandelt wird, legen Sie ihn in Zitate ein.
Hier ist das folgende Beispiel für die Verwendung von Boolean mit YAML:
Die drei sind die gemeinsamen booleschen Werte, die Yaml erkennt.
Kommentare
Yaml ermöglicht das Hinzufügen von Kommentaren. Verwenden Sie die Verwendung eines Kommentars, um die zu verwenden # Vor der Kommentarzeile und Yaml überspringt die Kommentarzeile.
Beachten Sie, dass die Einklebung oder der Zeilenabstand des Kommentars nichts betrifft.
Null
In einem Fall, in dem Sie einen Null haben, ermöglicht Ihnen Yaml, sie mit der Tilde zu repräsentieren (~)) oder Null Stichwort.
Schauen Sie sich das folgende Beispiel an:
Eine der vorherigen Optionen funktioniert für Ihren Fall.
Objekte
Beim Erstellen von Objekten müssen Sie alle ihre Attribute auf derselben Einklingelebene platzieren. Die Eindrücke trennt den Objektnamen und die Attribute. Auf diese Weise wird der Parser erkennen, dass Sie ein Objekt erstellt haben.
Geben wir das folgende Beispiel an:
Beachten Sie im vorherigen Bild, wie jedes Attribut eine Breite vom Rand festgelegt wird, und alle Attribute haben dieselbe Eindrücke. Sie können einen Datenatyp in Ihrem Objekt haben.
So repräsentieren Sie ein Objekt in Yaml.
Aufführen
Um eine Liste darzustellen, fügen Sie a hinzu Bindestrich. Eine Liste kann aus einem Objekt erstellt werden, in dem Sie über ein Objekt verfügen, das eine Unterkategorie von Attributen hat. Stellen Sie sicher.
Im vorherigen Beispiel haben wir eine Liste von Mitgliedern, die den Namen, Alter und Karriere jedes Mitglieds enthalten.
Es ist möglich, eine verschachtelte Liste aus einem Attribut eines Objekts zu erstellen. Es könnte eines der Attribute sein, die viel Wert haben. In diesem Fall können Sie wie unten gezeigt eine verschachtelte Liste in YAML erstellen:
Verwenden Sie für die verschachtelte Liste einen Bindestrich, um die primitiven Daten unter dem Attribut darzustellen, und stellen Sie sicher.
Alternativ können Sie die primitiven Daten in einer Zeile darstellen, um einen saubereren Code zu erstellen. So kann die gleiche verschachtelte Liste ausgedrückt werden.
Es wird immer noch als Yaml -Liste/-array analysiert.
Arbeiten mit mehreren YAML -Dateien
Die gute Nachricht mit YAML ist, dass die Arbeit mit mehreren YAML -Dateien in einem Dokument ermöglicht wird. Diese Funktion ist praktisch für jemanden, der eine Konfigurationsdatei für Dinge wie Docker -Tools schreibt. Es verbessert sich, da Sie im Dokument den gleichen Schlüsselnamen haben können, jedoch unter einer anderen YAML -Datei.
Mit mehreren YAML -Dateien und den zu arbeiten, und die dreifache Bindestriche (-) So signalisieren Sie den Start der ersten YAML -Datei und wiederholen Sie dasselbe für die andere Datei.
Hier ist ein Beispiel für ein Dokument mit drei YAML -Dateien.
Sie müssen die drei Bindestriche für die letzte Datei hinzufügen, um das Ende zu signalisieren.
Implementierung von Anker und Alias
Bei der Behandlung einer großen Konfigurationsdatei wird wahrscheinlich eine bestimmte Konfiguration an anderer Stelle in der YAML -Datei wiederholt. In diesem Fall wird dies zu einer Duplikation führen, und unnötige Linien werden verwendet.
Zum Glück erlaubt Yaml die Verwendung Anker (&) Und alias (*) Um diese Duplikation zu vermeiden. Lassen Sie uns das folgende Beispiel einer Konfigurationsdatei haben:
Beachten Sie im vorherigen Beispiel, wie wir Konfigurationsdetails für alle Kicks doppelte Details haben. Wir können dies vermeiden, indem wir die Anker verwenden, um einen Konfigurationsblock zu definieren und dann die Aliase zu verwenden, um auf das definierte Stück an anderer Stelle im Code zu verweisen.
Trotzdem können wir die frühere Konfigurationsdatei umschreiben und die Duplikation beseitigen.
Wir haben jetzt einen saubereren und vereinfachten Code ohne Duplizierung. Die Verwendung von Alias und Anker ist nützlich, wenn die Konfigurationsdetails für alle Elemente gleich sind. Wir könnten jedoch einen Tritt mit verschiedenen Testzeiten oder -versionen für unser Beispiel machen.
In einem solchen Fall rufen wir die auf überschreiben (<<:) Um die Details des Ankers zu ändern, ohne ihn erneut schreiben zu müssen.
Hier ist ein Beispiel für die Implementierung eines Override -Szenarios von Kick2 und Kick3.
Wir haben immer noch einen vereinfachten Code.
Notiz Sie können jederzeit überprüfen, ob Ihre YAML -Datei mit einem Online -Parser Ihrer Wahl korrekt ist. Wenn Sie einen Einkleber- oder Zeilenabstandsfehler haben, wird eine Fehlerausgabe angezeigt, mit der Sie Ihre Datei wie im folgenden Beispiel debuggen:
Arbeiten mit Umgebungsvariablen
Beim Erstellen einer YAML -Datei können Sie eine Umgebungsvariable verwenden, indem Sie sie mit dem Dollar -Zeichen aufrufen. Zum Beispiel könnten Sie die verwenden $ Benutzer Umgebungsvariable beim Schreiben einer Konfigurationsdatei, für die die Linux -Anmeldedetails erforderlich sind.
Verwenden Sie dazu die Umgebungsvariable als $ Benutzer, und der Parser holt den Wert der angegebenen Umgebungsvariablen ab.
Abschluss
YAML ist eine erweiterte Möglichkeit, Konfigurationsdateien zu erstellen, und bietet eine bessere Syntax für Docker, Ansible und Kubernetes als XML oder JSON. Mit YAML erhalten Sie einen menschlichen lesbaren saubereren Code, was bedeutet, dass jeder mitmachen kann. Dieser Leitfaden hat die Hauptkonzepte der Verwendung von YAML vorgestellt. Wir haben die Syntax für YAML gesehen und verschiedene Beispiele gegeben, mit denen Sie YAML für Ihre Aktivitäten wohlfühlen. Üben Sie weiter, um die Syntax zu verstehen, und Sie werden die Einfachheit lieben, die mit Yaml einhergeht.