OK, wenn Yaml keine Markup -Sprache ist, was ist es, was ist es?
Wie bereits erwähnt, ist YAML eine serialisierte Daten, die entwickelt wurde. Betrachten Sie es als einen strengen Superet von JSON oder eine Kreuzung zwischen JSON und XML. Dieser Hybrid ermöglicht es ihm, das zu tun, was JSON kann und weitere zusätzliche Funktionen.
Der Zweck dieses Tutorials besteht darin, Ihnen YAML vorzustellen, Ihnen eine Anleitung zur Syntax der Sprache zu geben, Ihnen schnelle Tools zur Arbeit mit YAML zu geben und Ihnen beizubringen, wie Sie sie für Konfigurationsdateien und mehr verwenden können.
Wie man Yaml schreibt
Das Schreiben von YAML ist unglaublich intuitiv (ich denke, das ist der Punkt), da es die Schlüssel-Wert-Paarsyntax verwendet. Somit ist es wie ein Wörterbuch in Python. Im Gegensatz zu Python erlaubt Yaml jedoch keinen Tab -Abstand. Es verwendet Leerzeichen.
Die allgemeine Syntax ist:
SchlüsselwertUm ein neues YAML -Dokument zu beginnen, beginnen wir mit drei Strichen, die den Beginn einer neuen Datei angeben.
Mit dieser Funktion können Sie mehrere Dokumente durch die Striche in einer einzelnen Datei getrennt haben.
Erstellen Sie eine Datei mit a .YAML -Erweiterung und fügen Sie den folgenden Inhalt hinzu.
---Wie Sie aus der obigen Datei sehen können, beginnt jedes Dokument in YAML mit drei Punkten, gefolgt von den Daten, die in Schlüsselwertpaaren gespeichert sind.
Installieren Sie einen YAML -Linter
Bevor Sie weiter fortfahren, bestätigen wir, dass das, was wir haben, eine gültige YAML -Datei ist. Dazu müssen wir einen YAML -Linter installieren.
Ein Linter ist ein Tool, das den Entwickler über Programmierfehler wie Syntaxfehler und ungültige Konstrukte überprüft und benachrichtigt. Beispielsweise können Sie nach der gültigen Syntax einer Datei überprüfen.
In unserem Beispiel werden wir Yamllint verwenden.
Verwenden Sie zum Installieren von APT als:
sudo apt-Get-UpdateNach der Installation können wir den Linter mit dem Befehl an der Datei ausführen
echo -e 'Dies ist eine gültige: yaml syntax' | Yamllint -Probe.YamlWenn die Datei eine gültige YAML -Syntax enthält, gibt sie uns keine Ausgabe.
Fügen Sie nun mit Hinzufügen von Leerzeichen in der YAML -Datei oder fügen Sie unten einen einzelnen Armaturenbrett hinzu
---Wenn wir den Linter gegen diese Datei ausführen, werden die Fehler angezeigt, wie unten gezeigt:
Probe.YamlNOTIZ: Wie Wörterbücher in Python und ähnliche Datenstrukturen in verschiedenen Programmiersprachen müssen die Schlüsselwertpaare in einem YAML-Dokument eindeutig sein.
YAML -Datentypen
YAML unterstützt verschiedene Möglichkeiten zur Darstellung von Daten. Sie beinhalten:
#: Skalare Typen
Dies sind der häufigste Datentyp in YAML. Sie befinden sich in Form von Schlüsselwertpaaren, wie im obigen Beispiel gezeigt.
Die Werte in einem Paar können jede Art wie Zeichenfolge, Zahlen einschließlich Hexadezimal, Ganzzahlen und dergleichen sein.
#: Saiten
YAML unterstützt auch Saiten, die in einzelnen oder doppelten Quoten eingeschlossen sind. Dies ist keine Anforderung, wie der Yaml -Parser es herausfindet, kann aber hilfreich sein, insbesondere in Strings mit Fluchtcharakteren.
Im Folgenden sind Beispiele für gültige Zeichenfolgen in YAML aufgeführt.
---NOTIZ: Stellen Sie sicher, dass Sie die doppelten oder einzelnen Zitate schließen, soweit. Das Folgende führt zu einem Fehler.
---Verwenden Sie das (größer als) Zeichen (größer als) ein Absatz in einer YAML -Datei. Denken Sie daran, vor der Linie einen Platz hinzuzufügen. Zum Beispiel:
---#: Numerische Typen
Der andere in YAML unterstützte Datentyp ist numerische Typen. Zu den numerischen Typen gehören Ganzzahlen, Dezimalstellen, Hexadezimal-, Oktal- und andere numerische Typen.
Die folgende YAML -Syntax repräsentiert numerische Typen.
---#: Listen
Listen in YAML werden unter Verwendung eines einzelnen Armaturenbretts als:
---#: Sequenzen
Sequenzen sind Datentypen. Zum Beispiel:
---#: Zuordnungen
Die Zuordnung ist einer Sequenz ziemlich ähnlich, besteht jedoch aus Schlüsselwertpaaren, die alle unter einer Untergruppe enthalten sind.
Hier ist ein Beispiel:
---#: Null
Wir setzen einen Null in Yaml mit einem Tilde (~) oder dem String -Null, wie im folgenden Beispiel gezeigt:
---#: Arrays
Arrays in YAML werden mit den Quadratklammern in einer einzelnen Linie angegeben. Das folgende Beispiel zeigt die Definition von Arrays in YAML.
---Yaml kommentiert
YAML unterstützt auch Kommentare, mit denen Sie den YAML -Daten zusätzliche Informationen hinzufügen können. Der Parser ignoriert Kommentare.
YAML -Kommentare beginnen mit einem Octothorpe (#).Verarbeiten yaml an json
In einigen Fällen müssen wir Yaml möglicherweise in JSON umwandeln. Da die beiden eng miteinander verbunden sind, ist es sinnvoll, einen von den anderen zu brauchen.
Für solche Szenarien können wir ein Tool wie YQ verwenden, das ein YAML/XML -Parser für JQ ist.
Verwenden Sie PIP mit dem Befehl wie gezeigt:
PIP3 INSTALLE YQNOTIZ: Stellen Sie sicher, dass Sie JQ installiert haben, da dies eine erforderliche Abhängigkeit für YQ ist.
Angenommen, wir haben eine Beispielkubernetes -Pod -Erstellungsdatei (Kubernetes.yaml) mit dem Inhalt wie gezeigt:
---NOTIZ: Die obige Datei dient zu Illustrationszwecken und kann Fehler enthalten, wenn sie in einer realen Kubernetes -Instanz verwendet werden.
Verwenden Sie den Befehl, um die YAML -Datei in JSON zu konvertieren:
sudo yq eval -j kubernetes.YamlNach Ausführung des obigen Befehls wird der Inhalt der Datei automatisch in JSON konvertiert, wie unten gezeigt:
Das macht das Erleichterung des Wechsels von JSON zu YAML und umgekehrt einfacher.
Abschluss
YAML ist ein unglaublich leistungsfähiges Tool, mit dem Sie hochlesbare und kompatible Konfigurationsdateien für Support -Dienste erstellen können. Mit den Konzepten in diesem Tutorial sind Sie in der Lage, komplexe YAML -Dokumente für Ihre Anwendungen oder Anwendungen zu erstellen, die YAML unterstützen.
Vielen Dank und Happy Coding!