Skip to Content

¿Qué es YAML y puede escribir cadenas multilínea?

YAML es la abreviatura de “otro lenguaje de marcado” o “YAML no es lenguaje de marcado”, la última sigla recursiva que se utiliza para enfatizar que YAML es para datos y no para documentos. YAML es un lenguaje de serialización de datos que se usa para escribir archivos de configuración para la implementación de infraestructura. Por ejemplo, si desea implementar una aplicación Docker en Kubernetes, usaría un archivo YAML para configurar la instancia. YAML es legible por humanos, por lo que es fácil crear un archivo y leer las instrucciones durante las implementaciones.

Si es nuevo en YAML, no pasará mucho tiempo antes de que se dé cuenta de que necesita una forma de dividir sus cadenas en varias líneas, una de las preguntas de YAML más frecuentes en la web. En este artículo, cubriremos los dos enfoques principales de las cadenas multilínea de YAML, así como otras preguntas frecuentes.

YAML y Whitespace: Qué debe saber

Los archivos YAML utilizan espacios en blanco y retornos de carro, pero el contenido se serializa cuando se ingiere en un recurso específico. Los desarrolladores que crean un archivo YAML pueden formatear el texto usando sangrías y espaciado para facilitar la lectura. YAML trata los espacios en blanco de manera similar a otros idiomas, por lo que puede tener tantos como sea necesario para formatear un archivo.

Cómo romper líneas para cadenas multilínea YAML

Al ingerir archivos YAML, es posible que ocasionalmente desee mantener los saltos de línea en una cadena multilínea. Tomemos como ejemplo el siguiente pseudocódigo:

    clave:

            elemento1

            elemento2

            elemento3

Después de cada partida (p. ej., partida 1, partida 2 y partida 3), tiene un retorno de carro. Si deja la sintaxis YAML tal como está, la cadena se convierte en la siguiente:

artículo1 artículo2 artículo3

Este formato de cadena crea una cadena larga sin ningún formato de retorno de carro, por lo que es posible que desee conservar los saltos de línea. Las rupturas de línea se pueden conservar con el operador literal. El operador literal es el carácter de la tubería (“|”). Para preservar las interrupciones de línea, su sintaxis YAML debe cambiarse a lo siguiente:

    clave: |

            elemento1

            elemento2

            elemento3

Observe el carácter de la tubería después de la directiva “clave”. Cuando la aplicación ingiera el archivo YAML, se convertirá a la siguiente cadena:

elemento1\nartículo2\nartículo3

El carácter “\n” representa una nueva línea. La impresión de esta cadena en una aplicación mostrará cada elemento con un retorno de carro adjunto para preservar el formato en las instrucciones de YAML.

Bloques multilínea YAML frente a cadenas largas

Para las cadenas largas, debe usar bloques multilínea para leer un archivo YAML. Por ejemplo, si tiene un párrafo de 250 palabras en un archivo YAML, debe dividir las oraciones en bloques multilínea. No debería conservar los retornos del carro, excepto al final de un párrafo. Puede formatear un archivo YAML para usar varias líneas para cadenas largas y serializar la cadena para agregar espacios a cada elemento en lugar de un nuevo carácter de línea. 

Para usar un carácter de espacio en blanco en lugar de agregar una nueva línea, use el operador plegado (“>”):

    clave: >

            elemento1

            elemento2

            elemento3

Con el operador plegado, YAML agrega un espacio cuando crea la cadena. La cadena tiene el siguiente aspecto:

elemento1 elemento2 elemento3\n

Preguntas frecuentes sobre YAML Multiline

¿Cómo se inserta una ruptura de línea en YAML?

Mediante el uso del operador literal (“|”), se conservará cualquier ruptura de línea en una cadena YAML. Cree una interrupción de línea usando la pulsación de tecla de retorno de carro de la misma manera que crea una interrupción de línea en un documento estándar. El siguiente ejemplo conserva el retorno de carro en una cadena YAML:

    clave: |

            elemento1

            elemento2

            elemento3

¿Puede YAML tener líneas en blanco?

Sí, una cadena representada como bloque de texto también puede contener líneas en blanco. El operador de mantenimiento (“|+”)  conserva las líneas vacías en blanco junto con el nuevo carácter de línea. El siguiente YAML es un ejemplo de una cadena multilínea con dos líneas vacías al final del bloque:

    clave: |+

            elemento1

            elemento2

            elemento3

Un analizador YAML mostrará la siguiente cadena de la sintaxis anterior:

elemento1\nartículo2\nartículo3\n\n

¿A YAML le importa el espacio en blanco?

Un espacio en blanco de pestaña es un carácter ilegal en YAML, por lo que cualquier marca debe utilizarse con un carácter de espacio único estándar. Las pestañas se pueden usar en cadenas citadas, pero no se pueden usar para formatear un archivo YAML. La consistencia en las sangrías de espacio en blanco es importante para la legibilidad de los datos.

¿Se permiten espacios en YAML?

Sí, puede tener espacios estándar en un archivo YAML. Los espacios deben utilizarse para sangrías y no para el carácter de la pestaña. Los caracteres de la pestaña pueden causar errores durante el análisis de un archivo YAML.

09/2024
Portworx on Red Hat OpenShift Bare Metal
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts.
Arquitectura de referencia
57 páginas
CONTÁCTENOS
¿Preguntas, comentarios?

¿Tiene alguna pregunta o comentario sobre los productos o las certificaciones de Pure?  Estamos aquí para ayudar.

Programe una demostración

Programe una demostración en vivo y compruebe usted mismo cómo Pure puede ayudarlo a transformar sus datos en potentes resultados. 

Llámenos: 800-976-6494

Medios de comunicación: pr@purestorage.com

 

Pure Storage, Inc.

2555 Augustine Dr.

Santa Clara, CA 95054

800-379-7873 (información general)

info@purestorage.com

CERRAR
¡Su navegador ya no es compatible!

Los navegadores más antiguos a menudo representan riesgos de seguridad. Para brindar la mejor experiencia posible al utilizar nuestro sitio, actualice a cualquiera de estos navegadores más recientes.