YAML — это язык сериализации данных, который широко используется для написания конфигурационных файлов, поэтому его необходимо знать. Сериализация данных — это процесс преобразования сложных объектов данных в поток байтов, который сохраняет состояние объекта в форме, удобной для хранения или передачи.
YAML был аббревиатурой от «Еще один язык разметки», но теперь он означает «YAML — это не язык разметки», чтобы больше подчеркнуть его функции, ориентированные на данные.
ПОПУЛЯРНОСТЬ YAML
YAML является альтернативой другим языкам сериализации данных, таким как JSON, XML, BSON и т. д. Одна из основных причин, по которой YAML становится все более популярным, заключается в том, что он более удобочитаем благодаря чистому и лаконичному синтаксису, что упрощает работу с ним.
ОСНОВЫ YAML
Файл YAML обычно начинается с трех дефисов и заканчивается тремя точками, однако это необязательно.
Пары ключ-значение являются основой всех документов YAML. Двоеточие разделяет пары ключ-значение.
--- version: 1.4 description: Sample file ...
YAML поддерживает все основные скалярные типы данных, такие как:
integer: 40 float: 40.5 string: Forty boolean: True
Примечание. Логическое значение может принимать значения True/False, Yes/No или On/Off.
Мы также можем объявить нулевые значения, используя ключевое слово null или символ ~.
balance: null balance: ~
СТРОИТЕЛЬНЫЕ БЛОКИ ЯМЛ
Прежде всего, пробелы являются неотъемлемой частью форматирования YAML. Карты и списки — это два строительных блока, с которыми вы часто будете сталкиваться в файлах YAML.
Отступы используются для определения карты, также известной как словарь, хэш-карта или объект. Все пары ключ-значение с одинаковым уровнем отступа принадлежат одной и той же карте.
Списки или массивы определяются с помощью одного тире для перечисления каждого отдельного элемента списка.
user: Jake age: 25 address: state: CA country: USA movies: - Interstellar - Die Hard - The Godfather
Карты и списки также могут быть определены в одной строке с использованием фигурных и квадратных скобок соответственно.
user: Jake age: 25 address: {state: CA, country: USA} movies: [Interstellar, Die Hard, The Godfather]
Чтобы оценить удобочитаемость YAML, вот как те же данные выглядят в формате JSON. Следует отметить одну интересную вещь: YAML является надмножеством JSON, а это означает, что любой JSON является допустимым файлом YAML.
{ "user": "Jake", "age": 25, "address": { "state": "CA", "country": "USA" }, "movies": [ "Interstellar", "Die Hard", "The Godfather" ] }
ЕЩЕ НЕМНОГО YAML
Вы также можете определить, как YAML обрабатывает многострочные строки, используя индикаторы блочного стиля. Используйте | символ, если вы хотите сохранить символы новой строки. Используйте знак ›, чтобы заменить символы новой строки пробелами.
review2: | This will all be on separate lines review1: > This will all be in one line
Наконец, вы можете писать комментарии в файле YAML, используя символ #. YAML поддерживает только однострочные комментарии.
# This a comment in YAML
ЗАКЛЮЧЕНИЕ
Мы рассмотрели все основы, необходимые для начала работы с YAML. Теперь, чтобы подвести итоги, давайте взглянем на файл конфигурации docker-compose.yaml из одного из моих проектов. Просто попробуйте понять общую структуру файла YAML.
YAML быстро набирает популярность и широко используется для создания файлов конфигурации. Знание YAML является обязательным, особенно для всех, кто интересуется DevOps и облачными вычислениями.