YAML, что означает «YAML — это не язык разметки», — это удобочитаемый язык сериализации данных, который обычно используется в мире DevOps. Он часто используется в качестве формата файла конфигурации и может быть легко интерпретирован как людьми, так и машинами.
Если вы инженер DevOps и хотите узнать больше о YAML, вы обратились по адресу. В этом руководстве мы начнем с основ синтаксиса YAML и перейдем к более сложным концепциям.
Основы синтаксиса YAML
По сути, файл YAML представляет собой просто набор пар ключ-значение. Каждый ключ находится слева от двоеточия, а соответствующее значение — справа. Вот пример простого файла YAML:
key: value
Вы также можете указать несколько пар ключ-значение в одном файле YAML:
key1: value1 key2: value2 key3: value3
Вы можете использовать пробелы или табуляции для отступа пар ключ-значение, но будьте последовательны в использовании пробелов или табуляции во всем файле.
Списки в YAML
В YAML вы можете создавать списки, разделяя элементы тире и пробелом. Вот пример списка в YAML:
list: - item1 - item2 - item3
Вы также можете указать пары ключ-значение в списке:
list: - key1: value1 - key2: value2 - key3: value3
Карты в YAML
В YAML вы можете создавать карты (также известные как словари или ассоциативные массивы), указав пару ключ-значение внутри блока. Вот пример карты в YAML:
map: key1: value1 key2: value2 key3: value3
Вы также можете вкладывать карты в карты:
map: key1: nestedKey1: nestedValue1 nestedKey2: nestedValue2 key2: value2 key3: value3
Расширенные концепции в YAML
Теперь, когда вы знакомы с основами, давайте взглянем на некоторые более продвинутые концепции YAML.
Якоря и ссылки
В YAML вы можете использовать якоря и ссылки, чтобы избежать многократного повторения одних и тех же данных. Чтобы создать якорь, используйте символ &
, за которым следует имя якоря. Чтобы сослаться на якорь, используйте символ *
, за которым следует имя якоря.
Вот пример использования якорей и ссылок в YAML:
anchoredValue: &anchorValue value key1: *anchorValue key2: *anchorValue
В этом примере key1
и key2
имеют значение value
, так как они оба ссылаются на привязку anchorValue
.
Псевдонимы
Псевдонимы похожи на якоря и ссылки, но они позволяют вам ссылаться на весь блок данных, а не только на одно значение.