YAML: пример файла конфигурации и типичные ошибки
YAML-файл хранит данные в виде пар ключ-значение и списков; вложенность задают пробелами, обычно двумя. Табуляцию для отступов не используйте. YAML описывает структуру, а допустимые поля зависят от приложения, которое читает файл.
Объект, список и вложенные значения
app:
name: demo
debug: false
ports:
- 8080
- 8081
database:
host: db
port: 5432Здесь app содержит объект, ports — список чисел, а database — вложенный объект.
Строки и специальные символы
message: "Значение: готово"
path: 'C:\\temp\\files'
description: >-
Длинная строка складывается из нескольких
строк исходного YAML.Кавычки помогают однозначно передать :, #, строки, похожие на числа, и специальные символы. Тип YAML scalar может интерпретироваться парсером, поэтому при сомнении задайте строку явно.
Ошибка | Как исправить |
|---|---|
Табуляция в отступах | Использовать пробелы |
Ключ с двоеточием без пробела | Добавить пробел после |
| Заключить значение в кавычки |
Неверная структура данных | Сверить с документацией приложения |
Как проверить YAML?
Используйте парсер или встроенную команду целевого инструмента. Для Docker Compose можно выполнить docker compose config, для Ansible — ansible-playbook --syntax-check.
Обязательны ли кавычки вокруг строк?
Нет, но строки с двоеточиями, символом #, ведущими нулями и похожие на boolean лучше заключать в кавычки, чтобы избежать неожиданного приведения типа.