• 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
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
      • Ajuste de Curvas
      • Calculadora de Matrices
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

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

Buenas prácticas

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.

La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1)
En Analytics Lane
La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1)

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.

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.

Publicidad


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.

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.

Validar en el contexto: Docker, Kubernetes, OpenAPI

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

Publicidad


Docker Compose

docker compose config

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

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.

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.

Publicidad


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?

Publicaciones relacionadas

  • La caverna del consumo, o cómo Greenspan miraba calzoncillos para hacer política monetaria – El bestiario de los indicadores económicos absurdos (parte 1)
  • La vanidad del paisaje, o por qué un becario sale a contar grúas a Manhattan – El bestiario de los indicadores económicos absurdos (parte 2)
  • Augurios deportivos y portadas malditas, o cuando The Economist predice mejor al revés – El bestiario de los indicadores económicos absurdos (parte 3)
  • El bestiario de los indicadores económicos absurdos: El zoo patrio
  • El Binning en Credit Scoring: El Arte de Discretizar Variables
  • Cómo comparar tendencias con gráficos de líneas en Matplotlib: guía práctica paso a paso
  • Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial
  • Subplots en Matplotlib: cómo organizar múltiples gráficos en una sola figura
  • Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

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

El bestiario de los indicadores económicos absurdos: El zoo patrio

junio 25, 2026 Por Daniel Rodríguez

Por qué el banco te ofrece un 3% TAE y no es lo que parece

junio 23, 2026 Por Daniel Rodríguez

Noticias

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

junio 19, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Buscar en Excel con dos o más criterios publicado el septiembre 7, 2022 | en Herramientas
  • Panel de widgets de Windows 11 mostrando noticias destacadas y clima. Cómo eliminar las noticias en Windows 11 y recuperar tu concentración publicado el junio 26, 2025 | en Herramientas
  • Exactitud, precisión, recall… qué mide realmente cada métrica (y qué no) publicado el marzo 3, 2026 | en Ciencia de datos
  • Introducción a las gráficas de tarta en Matplotlib publicado el septiembre 30, 2024 | en Python
  • Hoja en la que se puede obtener el último valor de una columna en Excel Obtener el último valor de una columna en Excel publicado el mayo 5, 2021 | en Herramientas

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.1 (11)

Aplicar el método D’Hondt en Excel

Comentarios recientes

  • bif en JSON en bases de datos: cuándo es buena idea y cuándo no
  • bif en Cómo desinstalar Oracle Database 19c en Windows
  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • 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

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-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto