• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Encuestas: Tamaño de Muestra
    • Lotería: Probabilidad de Ganar
    • Reparto de Escaños (D’Hondt)
    • Tres en Raya con IA
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Guía definitiva para validar archivos YAML

diciembre 2, 2025 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 5 minutos

Los archivos YAML se han convertido en una pieza clave en el desarrollo moderno de soluciones. Si alguna vez has trabajado con Docker, Kubernetes, GitHub Actions, Ansible o incluso con la documentación de APIs en OpenAPI/Swagger, entonces ya has usado YAML, aunque quizá no lo hayas notado.

Es probable que en algún momento te hayas encontrado con un error extraño, de esos que parecen imposibles de entender: “unexpected indentation”, “mapping values are not allowed here” o simplemente que tu aplicación no arranca. Y todo porque… había un espacio de más.

En este artículo vamos a recorrer, paso a paso, todo lo que necesitas saber sobre cómo validar un archivo YAML. Desde lo más básico —qué es y cómo se estructura— hasta métodos avanzados para asegurarte de que no solo es correcto en su sintaxis, sino también válido en el contexto en el que se usa.

Prepárate para un recorrido práctico: al final tendrás una caja de herramientas para enfrentarte a cualquier archivo YAML sin miedo.

Tabla de contenidos

  • 1 Qué es YAML y por qué es tan popular
  • 2 El talón de Aquiles de YAML: la indentación
  • 3 Tres niveles de validación en YAML
  • 4 Validar YAML online: lo más rápido
  • 5 Validar YAML en local con yamllint
    • 5.1 Integración con VS Code
  • 6 Validar YAML con Python
  • 7 Validar en el contexto: Docker, Kubernetes, OpenAPI
    • 7.1 Docker Compose
    • 7.2 Kubernetes
    • 7.3 OpenAPI
  • 8 Validar contra esquemas
  • 9 Validación en CI/CD
  • 10 Buenas prácticas para evitar errores en YAML
  • 11 Conclusiones

Qué es YAML y por qué es tan popular

Antes de hablar de validación, tenemos que entender qué es YAML y por qué se usa tanto.

YAML significa “YAML Ain’t Markup Language”, una especie de chiste autorreferencial (algo muy para dar nombre a soluciones de software). Originalmente se diseñó como un lenguaje de serialización de datos muy legible para humanos. Es una alternativa más clara y menos ruidosa que JSON o XML.

Cómo generar contraseñas seguras con Python (y entender su nivel de seguridad)
En Analytics Lane
Cómo generar contraseñas seguras con Python (y entender su nivel de seguridad)

Ejemplo en JSON:

{
  "nombre": "Ana",
  "edad": 28,
  "habilidades": ["Python", "Docker", "Kubernetes"]
}

El mismo ejemplo en YAML:

nombre: Ana
edad: 28
habilidades:
  - Python
  - Docker
  - Kubernetes

Notarás que en YAML no hacen falta llaves {}, ni corchetes [], ni comillas obligatorias. Al igual que Python, todo depende de la indentación, lo que lo hace más fácil de leer… pero también más propenso a errores.

Por eso validar un YAML es tan importante. Un espacio mal puesto puede ser la diferencia entre un despliegue exitoso y una noche en vela.

Publicidad


El talón de Aquiles de YAML: la indentación

La belleza de YAML radica en su simplicidad, pero esa misma simplicidad puede ser peligrosa. Como todo depende de la indentación (espacios, no tabuladores), un error mínimo puede romper el archivo.

Por ejemplo, este YAML es válido:

usuario:
  nombre: Ana
  edad: 28

Pero si alguien mezcla tabuladores y espacios:

usuario:
     nombre: Ana
     edad: 28

El resultado es un error al cargarlo.

Por eso, la primera forma de validar un YAML es asegurarte de que no hay tabuladores y de que la indentación es consistente. Normalmente se usan 2 espacios o 4 espacios, pero nunca mezclar.

Tres niveles de validación en YAML

Cuando hablamos de “validar un YAML”, no siempre hablamos de lo mismo. Existen tres niveles:

  1. Validación sintáctica: el archivo está bien formado (sin errores de indentación, comillas, etc.).
  2. Validación estructural: el archivo tiene sentido dentro del contexto en el que se usa (ej. Docker, Kubernetes, GitHub Actions).
  3. Validación contra esquemas: el archivo cumple con una definición formal (ej. OpenAPI 3.0, JSON Schema, etc.).

Ejemplo:

  • Un docker-compose.yaml puede ser sintácticamente correcto, pero si olvidaste la sección services, Docker lo rechazará.
  • Un openapi.yaml puede ser legible, pero si el campo servers está mal definido, la especificación será inválida.

En esta guía veremos cómo cubrir los tres niveles.

Publicidad


Validar YAML online: lo más rápido

La forma más sencilla (y muchas veces la primera que usamos) es copiar y pegar el archivo en un validador online. Algunos populares son:

  • YAML Lint
  • Code Beautify YAML Validator

Ventajas:

  • Rápido, sin instalación.
  • Perfecto para archivos pequeños.

Desventajas:

  • Poco práctico para proyectos grandes.
  • No valida contexto (solo sintaxis).

Ejemplo de uso en YAML Lint:

  • Pega este YAML válido:
app:
  name: blog
  version: 1.0
  • Ahora prueba con este YAML roto:
app
  name: blog
  version: 1.0

Verás un error indicando que falta el :.

Validar YAML en local con yamllint

Cuando los proyectos crecen, usar validadores online deja de ser práctico. Aquí entra yamllint, una herramienta de línea de comandos.

Para instalar esta herramienta se puede reucurrir a pip, ya que esta basada en Python.

pip install yamllint

Una vez instalada, se puede validar simplemente ejecutando un comando como el que se muestra a continuación:

yamllint archivo.yaml

Si el archivo es válido, no verás errores. Si hay problemas, mostrará la línea exacta:

archivo.yaml
  3:1       error    too many spaces inside braces  (braces)

Publicidad


Integración con VS Code

Si usas VS Code, puedes instalar la extensión YAML (Red Hat). Esta extensión usa internamente validadores como yamllint y muestra errores en tiempo real.

Captura de pantalla de la instalación de la extensión de VS Code para la validación de archivos YAML
Extensión de VS Code para la validación de archios YAML

Validar YAML con Python

Otra forma práctica es usar la librería pyyaml para cargar el archivo y ver si hay errores.

import yaml

with open("archivo.yaml", "r") as f:
    try:
        data = yaml.safe_load(f)
        print("YAML válido")
    except yaml.YAMLError as e:
        print("Error:", e)

Esto es útil si quieres integrar validación dentro de un script o pipeline.

Publicidad


Validar en el contexto: Docker, Kubernetes, OpenAPI

Validar la sintaxis es necesario, pero no suficiente. Necesitamos comprobar que el YAML funciona en su contexto.

Docker Compose

docker compose config

Esto combina y valida todos los docker-compose.yaml antes de levantar los servicios.

Publicidad


Kubernetes

kubectl apply --dry-run=client -f deployment.yaml

Permite probar un manifiesto sin aplicarlo realmente.

OpenAPI

Si tu YAML define una API:

npm install -g swagger-cli
swagger-cli validate openapi.yaml

Esto valida la especificación contra el estándar OpenAPI 3.x.

Publicidad


Validar contra esquemas

En algunos casos, no basta con saber que el archivo “funciona”. Queremos asegurarnos de que cumple con un esquema formal.

Ejemplo en VS Code: podemos asociar un esquema a un archivo YAML desde settings.json:

"yaml.schemas": {
  "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.yaml": "openapi.yaml"
}

Así, cada vez que edites openapi.yaml, VS Code validará automáticamente según la especificación oficial.

También puedes usar herramientas como pykwalify (Python) para validar contra un esquema definido en YAML.

Validación en CI/CD

Lo ideal es no esperar a que un error aparezca en producción. Podemos automatizar la validación en pipelines de CI/CD.

Ejemplo en GitHub Actions (.github/workflows/lint.yml):

name: YAML Lint

on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install yamllint
        run: sudo apt-get install yamllint -y
      - name: Run yamllint
        run: yamllint .

Cada vez que subas un cambio, el pipeline validará todos los YAML del repositorio.

Publicidad


Buenas prácticas para evitar errores en YAML

A la hora de vaciar archivos YAML es bueno seguir las siguientes buenas prácticas:

  • Usa siempre espacios, nunca tabuladores.
  • Mantén la indentación consistente (2 o 4 espacios).
  • Comillas: usa comillas dobles "" si hay caracteres especiales.
  • Para valores booleanos, usa true/false en minúsculas (no Yes/No).
  • Divide archivos grandes en varios más pequeños cuando sea posible.

Conclusiones

Los archivos YAML son una herramienta que puede ser extremadamente útil, pero también son frágiles. Validar tus archivos es fundamental para evitar errores costosos.

En resumen:

  1. Valida la sintaxis con herramientas como yamllint o extensiones de VS Code.
  2. Prueba el archivo en su contexto (Docker, Kubernetes, OpenAPI, etc.).
  3. Valida contra esquemas cuando trabajes con formatos estandarizados.
  4. Automatiza la validación en CI/CD para no depender de la memoria humana.

Así, podrás trabajar con YAML sin miedo a los errores invisibles y tendrás configuraciones robustas y confiables.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicidad


Publicaciones relacionadas

  • Cómo generar contraseñas seguras con Python (y entender su nivel de seguridad)
  • Curiosidad: ¿Por qué los datos “raros” son tan valiosos?
  • Detectan vulnerabilidad crítica en MLflow que permite ejecución remota de código
  • ¿Por qué el azar no es tan aleatorio como parece?
  • Cómo crear un Data Lake en Azure paso a paso
  • Guía definitiva para trabajar con JSON en SQL Server
  • Curiosidad: ¿Por qué se llama “regresión” lineal?
  • Cómo Interpretar las Métricas de Fondos de Inversión y ETFs: Guía Completa para Tomar Decisiones Informadas
  • Cargar datos desde Python a Azure Data Lake

Publicado en: Productividad Etiquetado como: Buenas prácticas

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Guía definitiva para validar archivos YAML

diciembre 2, 2025 Por Daniel Rodríguez

Cargar datos desde Python a Azure Data Lake

noviembre 27, 2025 Por Daniel Rodríguez

Cómo Interpretar las Métricas de Fondos de Inversión y ETFs: Guía Completa para Tomar Decisiones Informadas

noviembre 25, 2025 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Cómo calcular el tamaño de la muestra para encuestas publicado el septiembre 9, 2025 | en Ciencia de datos
  • Ordenadores para Machine Learning e IA 2025: Guía para elegir el equipo ideal publicado el enero 17, 2025 | en Reseñas
  • Diferencias entre CPU, GPU, TPU y NPU publicado el abril 19, 2023 | en Herramientas
  • Número óptimo de clústeres con Silhouette e implementación en Python publicado el junio 23, 2023 | en Ciencia de datos
  • Dealine Modelos BG/NBD para CLV publicado el junio 13, 2018 | en Ciencia de datos

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown
  • Daniel Rodríguez en Tutorial de Mypy para Principiantes

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2025 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto