У цій статті
Що таке YAML і навіщо його валідувати
YAML, що розшифровується як YAML Ain't Markup Language, — це зручний для людини формат серіалізації даних, що широко використовується для конфігураційних файлів, конвеєрів CI/CD, інфраструктури як коду та обміну даними. Його синтаксис на основі відступів робить його читабельним, але водночас високочутливим до помилок пробілів, невидимих неозброєним оком.
Валідація YAML перед розгортанням є критично важливою, оскільки навіть один неправильно розташований пробіл або некоректний рівень відступу може призвести до того, що конфігурація буде проаналізована інакше, ніж передбачалося, або взагалі не пройде парсинг. Пошкоджений файл YAML у маніфесті Kubernetes, стеку Docker Compose або робочому процесі GitHub Actions може вивести з ладу сервіси або заблокувати розгортання.
Як працює валідатор YAML
Валідатор аналізує ваш YAML-вхід та повідомляє про синтаксичні помилки з точними номерами рядків та стовпців, щоб ви могли миттєво виправити проблеми.
- Вставте ваш YAML — введіть або вставте YAML-контент будь-якого розміру, і валідатор негайно проаналізує його у вашому браузері
- Перегляньте деталі помилок — якщо YAML має некоректний формат, валідатор виділяє точний рядок та стовпець, де парсер зазнав невдачі, з чітким повідомленням про помилку
- Валідація структури — окрім синтаксису, валідатор перевіряє наявність дублікатів ключів, некоректних типів та інших структурних проблем, що можуть спричинити неочікувану поведінку
- Форматування виводу — коректний YAML автоматично форматується з однаковими відступами, щоб ви могли скопіювати чисту версію назад у свій проєкт
Спробуйте безкоштовно — реєстрація не потрібна
Відкрити валідатор YAML →Поширені помилки YAML та як їх виправити
Синтаксис YAML обманливо простий, і кілька шаблонів помилок регулярно зустрічаються в реальних конфігураційних файлах.
- Помилки відступів — YAML використовує пробіли для вкладеності, і змішування табуляцій з пробілами або використання непослідовних рівнів відступів є найпоширенішою причиною збоїв парсингу
- Спеціальні символи без лапок — значення, що містять двокрапки, решітки або фігурні дужки, повинні бути в лапках, щоб парсер не інтерпретував їх як синтаксис YAML
- Дублікати ключів — YAML дозволяє дублікати ключів на одному рівні, але зберігається лише останнє значення, що тихо перезаписує попередні значення та спричиняє помилки, які важко знайти
Поширені запитання
Яка різниця між YAML та JSON?
YAML є надмножиною JSON, що означає, що кожен коректний документ JSON також є коректним YAML. YAML додає функції, такі як коментарі, багаторядкові рядки, якорі та вкладеність на основі відступів, що роблять його більш зручним для читання людиною. JSON є суворішим та ширше підтримується API, тоді як YAML переважно використовується для конфігураційних файлів, де важлива читабельність.
Чи можна використовувати табуляції для відступів у YAML?
Ні. Специфікація YAML явно забороняє символи табуляції для відступів. Ви повинні використовувати пробіли, і кількість пробілів на рівень відступу повинна бути однаковою в межах документа. Більшість редакторів можна налаштувати на вставку пробілів при натисканні клавіші Tab.
Чи підтримує валідатор багатодокументний YAML?
Так. Файли YAML можуть містити кілька документів, розділених роздільником з трьох дефісів. Валідатор аналізує кожен документ незалежно та повідомляє про помилки з правильними номерами рядків відносно повного файлу.