Что такое YAML
YAML - формат сериализации данных. Название YAML представляет собой рекурсивный акроним YAML Ain't Markup Language («YAML — не язык разметки»).
YAML в основном используется как формат для файлов конфигурации, например для настройки веб-каркасов Ruby on Rails, Symfony, Docker Compose, Google App Engine, GitLab CI/CD. То есть, с помощью YAML чаще всего создают протоколы автоматизации, которые могут выполнять последовательности команд записанные в YAML-файле. Это позволяет вашей системе быть более независимой и отзывчивой без дополнительного внимания разработчика.
YAML является альтернативой XML. JSON является подмножеством языка YAML.
Синтаксис YAML
YAML не содержит исполняемых файлов. Поэтому можно безопасно обмениваться YAML-файлами с третьей стороной. Чтобы использовать исполняемые файлы, YAML нужно интегрировать, например с языками программирования Perl, Java или шел интерпретатором bash.
В языке есть несколько базовых концепций, которые позволяют обрабатывать большинство данных. В YAML существует соглашение о том, что файл может начинаться с "—" и заканчиваться "…", но это не обязательно. Эти маркеры используются для указания начала и конца документа соответственно, особенно в случаях, когда в одном файле содержится несколько документов. Однако в большинстве случаев, особенно когда файл содержит только один документ, эти маркеры можно опустить.
- Поддержка комментариев. YAML позволяет добавлять комментарии после символа #, как в Python:
key: #Это однострочный комментарий - value line 5 #Это #многострочный комментарий - value line 13
- Пары ключ-значение. Большинство данных в YAML-файле хранятся в виде пары ключ-значение, где ключ — это имя пары, а значение — связанные данные.
- Скаляры и маппинг. Скаляр представляет собой одно значение, которому соответствует имя. YAML поддерживает стандартные типы: int и float, boolean, string и null. Они могут быть представлены в разных видах: шестнадцатеричном, восьмеричном или экспоненциальном. Также существуют специальные типы для математических сущностей, такие как: бесконечность, -бесконечность и NAN.
- Строки. Строка — это коллекция символов, которая может содержать слово или предложение. Можно использовать либо |, для отдельных строк, либо >, для параграфов.
Кавычки в YAML не нужны.
str: Hello World data: | Это Отдельные Строки data: > Это один параграф текста
Валидатор файлов YAML утилита yamllint
В Linux существует удобная утилита yamllint для проверки синтаксиса YAML файлов, например не повредит проверить большой docker-compose.yml на ошибки
apt install yamllint
Запустим проверку файла
yamllint docker-compose-nginx-php-fpm/docker-compose.yml
docker-compose-nginx-php-fpm/docker-compose.yml 1:1 warning missing document start "---" (document-start) 11:81 error line too long (95 > 80 characters) (line-length) 17:17 error too few spaces after comma (commas) 17:27 error too few spaces after comma (commas)
Цифры слева – это координаты ошибки: номер строки и столбца. Описание ошибки может вам ни о чем не говорить, зато вы точно знаете, где она находится. Просто посмотрите на это место в проверяемом файле.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах