Compléter la syntaxe YAML et des exemples

Compléter la syntaxe YAML et des exemples
Yaml est un langage de sérialisation de données pour Yaml n'est pas un langage de balisage. Yaml a gagné en popularité au fil des ans, et sait ce que c'est, sa syntaxe et comment l'utiliser est un avantage supplémentaire. En tant que DevOps, YAML est le langage le plus populaire et le plus facile à utiliser pour écrire des fichiers de configuration pour Docker, Kubernetes et ANSIBLE.

Yaml accomplit la même tâche que Json et Xml, seulement qu'il offre un format plus lisible par l'homme. Avec Yaml, il se concentre sur les paires de valeurs clés, avec l'accent mis sur l'indentation et la séparation des lignes. En outre, YAML a de nombreuses utilisations dans la messagerie Internet, la persistance des données et le partage de données transversales.

De plus, YAML trouve sa place dans les technologies existantes, et des technologies comme Docker l'adoptent comme la façon moderne d'écrire des fichiers de configuration. Même pour des langues comme Python, nous avons le pyyaml, qui prend en charge l'utilisation de yaml avec python.

Dans ce guide, nous apprendrons tout sur Yaml, de la syntaxe aux exemples, en vous assurant de sortir en tant que Yaml Pro à la fin. Commençons.

Pourquoi utiliser Yaml

JSON et XML sont des façons d'écrire des fichiers de configuration. Cependant, Yaml gagne plus de popularité, et voici les raisons suivantes:

  1. YAML propose un code plus lisible par l'homme.
  2. Vous pouvez utiliser des chaînes avec YAML sans les enfermer avec des guillemets.
  3. Yaml est conçu pour gérer les données. Il s'agit uniquement d'un langage de sérialisation des données.
  4. Il a des fonctionnalités avancées, telles que les ancres relationnelles et les types de données extensibles.
  5. Vous pouvez ajouter des commentaires à votre fichier YAML.
  6. Yaml offre une syntaxe simple, et son style en ligne est un superset de JSON.
  7. Il peut être utilisé avec tous les langages de programmation modernes.

Le fichier yaml peut prendre le .YML ou .yaml extension.

Syntaxe yaml

La principale différence entre YAML et XML ou JSON est la façon dont la structure des données est définie. Pour YAML, la définition est basée sur l'indentation de la ligne et la séparation de ligne. Un mauvais espacement pour YAML augmentera une erreur, mais cela fait de YAML une option lisible par l'homme parmi les trois options.

Lorsque vous travaillez avec YAML, la syntaxe est principalement centrée sur les paires de valeurs clés, les objets, les listes, les commentaires, les chaînes multiples, etc. Couvrons chacun en détail et fournissons des exemples.

Paires de valeurs clés

Lorsque vous utilisez YAML, la plupart des articles prennent le format de paire de valeurs clés. La clé représente le nom de la paire, et les données attachées à la clé sont la valeur. Une seule valeur stockée devient un scalaire. C'est à partir des paires de valeurs clés que d'autres constructions pour yaml sont fondées.

La paire de valeurs clés est représentée comme une cartographie, où la cartographie associe des nœuds de valeur clé non ordonnés. Idéalement, une cartographie est créée en définissant son nom, suivi par le côlon, un espace, et son valeur.

Voici une simple paire de valeurs de clé pour un fichier de configuration.

Auparavant, vous notez que le mappage suit la syntaxe de valeur clé. Dans la première ligne, la clé est la cours, Et sa valeur est le Introduction de Yaml.

Notez que l'indentation doit être la même. Sinon, il soulèvera une erreur comme dans l'image suivante:

Travailler avec des cordes

Contrairement à JSON et XML, YAML ne nécessite pas de cordes entourées avec des guillemets simples ou doubles. Que vous les enfermez ou non dans des guillemets, XML captera toujours la valeur en tant que chaîne.

L'exemple suivant démontre les différentes façons de représenter une chaîne dans YAML:

Lorsque vous travaillez avec des caractères spéciaux, comme le personnage de Newline \ n, Vous devez enfermer la chaîne pour éviter que Yaml le traite comme une chaîne standard au lieu d'un caractère spécial.

Cela fait que Yaml reconnaît le caractère spécial et le gérer comme prévu.

Pour les chaînes, vous pouvez faire en sorte que Yaml reconnaisse une chaîne unique et multi-lignes, selon la façon dont vous le représentez.

Si vous avez une longue phrase que vous souhaitez pénétrer dans plusieurs phrases mais que vous voulez qu'elle soit traitée comme une seule ligne par l'analyseur, représentez-la comme indiqué ci-dessous:

Ici, l'astuce consiste à ajouter le plus grand que signe (>) afin que l'analyseur puisse traiter la valeur comme une seule ligne. De plus, vous devez vous assurer que chaque ligne a la même indentation. Sinon, vous obtiendrez une erreur dans votre paire de valeurs clés.

Pour ajouter au signe supérieur au signe, nous devons spécifier si nous voulons que le dernier caractère soit conservé lors du traitement. Dans le cas précédent, nous voulions que chaque dernier caractère de chaque ligne soit préservé. Par conséquent, nous devons utiliser le >+ symbole.

Si vous souhaitez suivre chacune des lignes précédentes avec un \ n Pour ajouter une nouvelle ligne, utilisez le tuyau (|) symbole plutôt.

Voici à quoi ressemblerait le nouveau code. Vous pouvez choisir de conserver le dernier caractère en ajoutant un Plus (+) ou ne le conservez pas en ajoutant un moins (-).

Avec cette méthode, vous appréciez une façon plus propre de créer une nouvelle ligne pour le paragraphe au lieu d'ajouter le \ n à la fin.

Nombres

Vous pouvez utiliser des nombres dans le cadre des scalaires de votre fichier yaml. YAML permet d'utiliser exponentiel, octal, décimal, entiers, valeurs flottantes et hexadécimal. Avec Yaml, vous n'avez pas besoin de souligner le type de nombre.

Ajoutez simplement, et à condition qu'il n'ait pas de devis, YAML le reconnaîtra comme un nombre, comme suit:

Booléen

YAML prend en charge l'utilisation de valeurs booléennes similaires à la façon dont vous pouvez les appliquer avec divers langages de programmation. Avec YAML, vous pouvez créer une paire de valeurs clés où la valeur peut être Oui / Non, ON / OFF, et vrai faux. Si vous ne voulez pas que le scalaire soit traité comme un booléen, enfermez-le dans les citations.

Voici l'exemple suivant de l'utilisation de Boolean avec Yaml:

Les trois sont les valeurs booléennes communes que Yaml reconnaît.

commentaires

Yaml permet d'ajouter des commentaires. Pour utiliser un commentaire, utilisez le # Avant la ligne de commentaire, et Yaml ignorera la ligne de commentaire.

Notez que l'indentation ou l'espacement des lignes du commentaire n'affecte rien.

Nul

Dans un cas où vous avez un null, YAML vous permet de le représenter en utilisant le Tilde (~) ou nul mot-clé.

Jetez un œil à l'exemple suivant:

L'une des options précédentes fonctionnera pour votre cas.

Objets

Lors de la création d'objets, vous devez placer tous leurs attributs au même niveau d'indentation. L'indentation sépare le nom de l'objet et les attributs. De cette façon, l'analyseur reconnaîtra que vous avez créé un objet.

Fournissons l'exemple suivant:

Dans l'image précédente, notez comment chaque attribut est en retrait d'une largeur de la marge, et tous les attributs ont la même indentation. Vous pouvez avoir n'importe quel type de données dans votre objet.

C'est ainsi que vous représentez un objet dans Yaml.

Liste

Pour représenter une liste, ajoutez un trait d'union. Une liste peut être créée à partir d'un objet, où vous avez un objet ayant diverses sous-catégories d'attributs. Assurez-vous d'ajouter la bonne indentation et la séparation des lignes pour faire un fichier YAML valide.

Dans l'exemple précédent, nous avons une liste de membres contenant le nom, l'âge et la carrière de chaque membre.

Il est possible de créer une liste imbriquée à partir d'un attribut d'un objet. Ce pourrait être l'un des attributs qui ont beaucoup de valeur. Dans ce cas, vous pouvez créer une liste imbriquée dans YAML, comme indiqué ci-dessous:

Pour la liste imbriquée, utilisez un trait d'union pour représenter les données primitives sous l'attribut et assurez-vous d'ajouter l'indentation requise et l'espacement des lignes.

Alternativement, vous pouvez représenter les données primitives sur une seule ligne pour créer un code plus propre. Voici comment la même liste imbriquée peut être exprimée.

Il sera toujours analysé comme une liste / tableau YAML.

Travailler avec plusieurs fichiers YAML

La bonne nouvelle avec YAML est qu'elle permet de travailler avec plusieurs fichiers YAML sur un seul document. Cette fonctionnalité est pratique pour quelqu'un qui écrit un fichier de configuration pour des choses comme les outils Docker. Il s'améliore car vous pouvez avoir le même nom de clé dans le document mais sous un autre fichier YAML.

Pour travailler avec plusieurs fichiers YAML et le triple traits (-) Pour signaler le début du premier fichier YAML et répéter le même pour l'autre fichier.

Voici un exemple de document avec trois fichiers yaml.

Vous devez ajouter les trois traits d'essai vers le dernier fichier pour signaler la fin.

Implémentation des ancres et des alias

Lorsque vous traitez avec un grand fichier de configuration, une configuration donnée sera probablement répétée ailleurs dans le fichier YAML. Dans ce cas, cela entraînera une duplication et des lignes inutiles seront utilisées.

Heureusement, Yaml permet d'utiliser ancres (&) et alias (*) Pour éviter cette duplication. Ayons l'exemple suivant d'un fichier de configuration:

Dans l'exemple précédent, notez comment nous avons des détails de configuration dupliqués pour tous les coups de pied. Nous pouvons éviter cela en utilisant les ancres pour définir un morceau de configuration, puis en utilisant les alias pour se référer au morceau défini ailleurs dans le code.

Cela dit, voici comment nous pouvons réécrire le fichier de configuration précédent, éliminant la duplication.

Nous avons maintenant un code plus propre et simplifié sans duplication. L'utilisation d'alias et d'ancre est utile lorsque les détails de configuration sont les mêmes pour tous les éléments. Cependant, nous pourrions avoir un coup de pied avec des temps d'essai ou des versions différents pour notre exemple.

Dans un tel cas, nous invoquons le les remplacements (<<:) pour changer les détails de l'ancre sans avoir à le réécrire à nouveau.

Voici un exemple de mise en œuvre d'un scénario de remplacement de Kick2 et Kick3.

Nous nous retrouvons toujours avec un code simplifié.

Note que vous pouvez toujours vérifier que votre fichier YAML est correct en utilisant un analyseur en ligne de votre choix. Si vous avez une erreur d'indentation ou d'espacement des lignes, il affichera une sortie d'erreur pour vous aider à déboguer votre fichier, comme dans l'exemple suivant:

Travailler avec des variables environnementales

Lors de la création d'un fichier YAML, vous pouvez utiliser une variable environnementale en l'invoquant en utilisant le signe du dollar. Par exemple, vous pouvez utiliser le $ Utilisateur variable environnementale lors de l'écriture d'un fichier de configuration qui nécessite les détails de connexion Linux.

Pour ce faire, utilisez la variable environnementale comme $ Utilisateur, et l'analyseur va récupérer la valeur de la variable d'environnement spécifiée.

Conclusion

YAML est un moyen avancé de créer des fichiers de configuration, et il offre une meilleure syntaxe à utiliser avec Docker, Ansible et Kubernetes que XML ou JSON. Avec YAML, vous obtenez un code plus propre à relable humain, ce qui signifie que tout le monde peut suivre. Ce guide a présenté les principaux concepts de l'utilisation de Yaml. Nous avons vu la syntaxe à suivre pour YAML et à recevoir divers exemples pour vous aider à vous mettre à l'aise à l'aide de Yaml pour vos activités. Continuez à pratiquer pour comprendre la syntaxe, et vous allez adorer la simplicité qui vient avec Yaml.