Sintaxis y ejemplos de YAML completo

Sintaxis y ejemplos de YAML completo
YAML es un lenguaje de serialización de datos para Yaml no es un lenguaje de marcado. Yaml ha crecido en popularidad a lo largo de los años, y sabe qué es, su sintaxis, y cómo usarla es una ventaja adicional. Como DevOps, YAML es el idioma más popular y fácil de usar para escribir archivos de configuración para Docker, Kubernetes y Ansible.

Yaml realiza la misma tarea que Json y Xml, solo que ofrece un formato más legible por humanos. Con Yaml, su enfoque está en los pares de valores clave, con el énfasis principal en la sangría y la separación de línea. Además, YAML tiene muchos usos en mensajes de Internet, persistencia de datos e intercambio de datos en idioma.

Además, YAML está encontrando su lugar en las tecnologías existentes, y las tecnologías como Docker lo están adoptando como la forma moderna de escribir archivos de configuración. Incluso para idiomas como Python, tenemos el pyyaml, que admite el uso de Yaml con Python.

En esta guía, aprenderemos todo sobre Yaml, desde la sintaxis hasta los ejemplos, asegurando que salga como un Yaml Pro al final. Empecemos.

¿Por qué usar yaml?

JSON y XML son formas populares de escribir archivos de configuración. Sin embargo, YAML está ganando más popularidad, y aquí están las siguientes razones:

  1. Yaml ofrece un código legible más humano.
  2. Puede usar cadenas con yaml sin encerrarlas con comillas.
  3. YAML está diseñado para manejar los datos. Es únicamente un lenguaje de serialización de datos.
  4. Tiene características avanzadas, como anclajes relacionales y tipos de datos extensibles.
  5. Puede agregar comentarios a su archivo yaml.
  6. Yaml ofrece una sintaxis simple, y su estilo en línea es un superconjunto de JSON.
  7. Se puede usar con todos los lenguajes de programación modernos.

El archivo YAML puede tomar el .YML o .yaml extensión.

Sintaxis yaml

La diferencia clave entre YAML y XML o JSON es cómo se define la estructura de datos. Para YAML, la definición se basa en la muesca de línea y la separación de la línea. Un espacio incorrecto para YAML generará un error, pero eso hace de Yaml una opción legible por humanos entre las tres opciones.

Cuando se trabaja con YAML, la sintaxis se centra principalmente en pares de valores clave, objetos, listas, comentarios, cadenas de múltiples líneas, etc. Cubro cada uno en detalle y proporcionemos ejemplos.

Pares de valores clave

Al usar YAML, la mayoría de los elementos toman el formato de par de valores clave. La clave significa el nombre del par, y los datos adjuntos a la clave son el valor. Un solo valor almacenado se convierte en un escalar. Es de los pares de valor clave que se fundan otras construcciones para YAML.

El par de valor clave se representa como un mapeo, donde el mapeo asocia nodos de valor clave desordenado. Idealmente, se crea un mapeo definiendo su nombre, Seguido por el colon, a espacio, y es valor.

Aquí hay un par de clave de clave simple para un archivo de configuración.

Anteriormente, observa que la asignación sigue la sintaxis del valor clave. En la primera línea, la clave es la curso, y su valor es el INTRODUCCIÓN YAML.

Tenga en cuenta que la sangría tiene que ser la misma. De lo contrario, planteará un error como en la siguiente imagen:

Trabajando con cuerdas

A diferencia de JSON y XML, YAML no requiere cuerdas de encerrado con comillas simples o dobles. Ya sea que los adjunte en comillas o no, XML aún capturará el valor como una cadena.

El siguiente ejemplo demuestra las diferentes formas de representar una cadena en YAML:

Al trabajar con caracteres especiales, como el personaje de Newline \norte, Debe encerrar la cadena para evitar que YAML la tratará como una cadena estándar en lugar de un carácter especial.

Hacerlo hace que Yaml reconozca el personaje especial y lo maneje como se esperaba.

Para cadenas, puede hacer que YAML reconozca una cadena única y múltiple, dependiendo de cómo la represente.

Si tiene una oración larga que desea entrar en múltiples oraciones pero quiere que el analizador sea tratado como una sola línea, represéntelo como se muestra a continuación:

Aquí, el truco es agregar el mas grande que firmar (>) para que el analizador pueda tratar el valor como una sola línea. Además, debe asegurarse de que cada línea tenga la misma sangría. De lo contrario, recibirá un error en su par de valores clave.

Para agregar al signo mayor que el signo, debemos especificar si queremos que el último personaje sea preservado al procesar. En el caso anterior, queríamos que cada último personaje de cada línea se conservara. Por lo tanto, necesitamos usar el >+ símbolo.

Si desea seguir cada una de las líneas anteriores con un \norte Para agregar una nueva línea, use el tubería (|) símbolo en su lugar.

Así es como se vería el nuevo código. Puede elegir retener el último personaje agregando un más (+) o no retenerlo agregando un menos (-).

Con este método, disfruta de una forma más limpia de crear una nueva línea para el párrafo en lugar de agregar el \ n al final.

Números

Puede usar números como parte de los escalares en su archivo Yaml. YAML permite usar valores exponenciales, octales, decimales, enteros, flotantes y hexadecimales. Con Yaml, no necesitas enfatizar el tipo de número.

Simplemente agréguelo y siempre que no tenga cotizaciones, Yaml lo reconocerá como un número, como sigue:

Booleano

YAML admite el uso de valores booleanos similares a la forma en que puede aplicarlos con varios lenguajes de programación. Con Yaml, puede crear un par de valores clave donde se pueda si/no, encendido/apagado, y verdadero Falso. Si no desea que el escalar sea tratado como un booleano, adjúbrelo dentro de las citas.

Aquí está el siguiente ejemplo de usar boolean con Yaml:

Los tres son los valores booleanos comunes que Yaml reconoce.

Comentario

Yaml permite agregar comentarios. Para usar un comentario, use el # Antes de la línea de comentarios, y Yaml se saltará la línea de comentarios.

Tenga en cuenta que la sangría o el espacio de línea del comentario no afecta nada.

Nulo

En un caso en el que tiene un nulo, Yaml le permite representarlo usando el Tilde (~) o nulo palabra clave.

Eche un vistazo al siguiente ejemplo:

Cualquiera de las opciones anteriores funcionará para su caso.

Objetos

Al crear objetos, debe colocar todos sus atributos en el mismo nivel de sangría. La sangría separa el nombre del objeto y los atributos. De esa manera, el analizador reconocerá que ha creado un objeto.

Proporcionemos el siguiente ejemplo:

En la imagen anterior, tenga en cuenta cómo cada atributo está sangrado un ancho del margen, y todos los atributos tienen la misma sangría. Puede tener cualquier tipo de datos en su objeto.

Así es como representas un objeto en Yaml.

Lista

Para representar una lista, agregue un guión. Se puede crear una lista a partir de un objeto, donde tiene un objeto que tiene varias subcategoría de atributos. Asegúrese de agregar la sangría correcta y la separación de línea para hacer un archivo YAML válido.

En el ejemplo anterior, tenemos una lista de miembros que contienen el nombre, la edad y la carrera de cada miembro.

Es posible crear una lista anidada a partir de un atributo de un objeto. Podría ser uno de los atributos que tienen mucho valor. En ese caso, puede crear una lista anidada en YAML, como se muestra a continuación:

Para la lista anidada, use un guión para representar los datos primitivos bajo el atributo y asegúrese de agregar la sangría requerida y el espacio de línea.

Alternativamente, puede representar los datos primitivos en una línea para crear un código más limpio. Así es como se puede expresar la misma lista anidada.

Todavía se analizará como una lista/matriz Yaml.

Trabajar con múltiples archivos YAML

La buena noticia con YAML es que permite trabajar con múltiples archivos YAML en un documento. Esta característica es útil para alguien que escribe un archivo de configuración para cosas como Docker Tools. Mejora, ya que puede tener el mismo nombre clave en el documento, pero bajo un archivo YAML diferente.

Para trabajar con múltiples archivos YAML y el triple guiones (-) Para indicar el inicio del primer archivo YAML y repite lo mismo para el otro archivo.

Aquí hay un ejemplo de un documento con tres archivos YAML.

Debe agregar los tres guiones para el último archivo para indicar el final.

Implementación de anclajes y alias

Al tratar con un archivo de configuración grande, es probable que se repita una configuración determinada en otra parte del archivo YAML. En ese caso, conducirá a la duplicación, y se utilizarán líneas innecesarias.

Afortunadamente, Yaml permite usar anclajes (&) y alias (*) Para evitar esta duplicación. Tengamos el siguiente ejemplo de un archivo de configuración:

En el ejemplo anterior, tenga en cuenta cómo tenemos detalles de configuración duplicados para todas las patadas. Podemos evitar esto utilizando los anclajes para definir un fragmento de configuración, luego usando los alias para referirse al fragmento definido en otra parte del código.

Dicho esto, así es como podemos reescribir el archivo de configuración anterior, eliminando la duplicación.

Ahora tenemos un código más limpio y simplificado sin duplicación. El uso de alias y el ancla es útil cuando los detalles de configuración son los mismos para todos los elementos. Sin embargo, podríamos tener una patada con diferentes tiempos de prueba o versiones para nuestro ejemplo.

En tal caso, invocamos el anulaciones (<<:) para cambiar los detalles del ancla sin tener que reescribirlo nuevamente.

Aquí hay un ejemplo de implementar un escenario de anulación de Kick2 y Kick3.

Todavía terminamos con un código simplificado.

Nota que siempre puede verificar que su archivo YAML sea correcto utilizando un analizador en línea de su elección. Si tiene una sangría o un error de separación de línea, mostrará una salida de error para ayudarlo a depurar su archivo, como en el siguiente ejemplo:

Trabajar con variables ambientales

Al crear un archivo YAML, puede utilizar una variable ambiental invocándolo usando el signo de dólar. Por ejemplo, podría usar el $ Usuario Variable ambiental Al escribir un archivo de configuración que requiere los detalles de inicio de sesión de Linux.

Para hacerlo, use la variable ambiental como $ Usuario, y el analizador obtendrá el valor de la variable de entorno especificada.

Conclusión

YAML es una forma avanzada de crear archivos de configuración, y ofrece una mejor sintaxis para usar con Docker, Ansible y Kubernetes que XML o JSON. Con Yaml, obtienes un código de limpiador legible por humanos, lo que significa que cualquiera puede seguir. Esta guía ha presentado los conceptos principales de usar YAML. Hemos visto la sintaxis a seguir para YAML y damos varios ejemplos para ayudarlo a sentirse cómodo usando YAML para sus actividades. Sigue practicando para comprender la sintaxis, y te encantará la simplicidad que viene con Yaml.