Yaml что это простыми словами

YAML за 5 минут: синтаксис и основные возможности

Авторизуйтесь

YAML за 5 минут: синтаксис и основные возможности

YAML — это язык для сериализации данных, который отличается простым синтаксисом и позволяет хранить сложноорганизованные данные в компактном и читаемом формате. Рассказываем, как это пригодится для DevOps и виртуализации.

Что такое YAML?

YAML — это язык для хранения информации в формате понятном человеку. Его название расшифровывается как, «Ещё один язык разметки». Однако, позже расшифровку изменили на — «YAML не язык разметки», чтобы отличать его от настоящих языков разметки.

Язык похож на XML и JSON, но использует более минималистичный синтаксис при сохранении аналогичных возможностей. YAML обычно применяют для создания конфигурационных файлов в программах типа Инфраструктура как код (Iac), или для управления контейнерами в работе DevOps.

Чаще всего с помощью YAML создают протоколы автоматизации, которые могут выполнять последовательности команд записанные в YAML-файле. Это позволяет вашей системе быть более независимой и отзывчивой без дополнительного внимания разработчика.

Всё больше и больше компаний используют DevOps и виртуализацию, поэтому YAML — это must have для современного разработчика. Кроме того, YAML легко интегрировать, благодаря поддержке Python (используя PyYAML библиотеку, Docker или Ansible) и других популярных технологий.

YAML vs JSON vs XML

YAML (.yml)

Применение: YAML лучше всего подходит для приложений с большим объемом данных, которые используют DevOps конвейеры или виртуальные машины. Кроме того, улучшение читаемости данных пригодится в командах, где разработчики часто с ними взаимодействуют.

Применение: JSON используется в веб-разработке — это лучший формат для сериализации и передачи данных через HTTP-соединение.

Применение: XML идеален для сложных проектов, которым требуется тонкий контроль над валидацией, схемой и пространством имён. Язык обладает плохой читаемостью, требует большей пропускной способности и ёмкости хранилища, но обеспечивает беспрецедентный контроль.

Характерные особенности YAML

Поддержка мультидокументов

Вы можете объединить несколько YAML-документов в один YAML-файл для облегчения организации файлов и парсинга данных.

Документы разделяются тремя дефисами (—):

Поддержка комментариев

YAML позволяет добавлять комментарии после символа #, как в Python:

Легко читаемый синтаксис

В синтаксисе YAML-файлов используется система отступов, как в Python. Необходимо использовать пробелы, а не табуляцию, чтобы избежать путаницы.

Это избавляет от лишних символов, которые есть в JSON и XML (кавычки, скобки, фигурные скобки).

В итоге читаемость файла значительно повышается.

Явная и неявная типизация

Отсутствие исполняемых файлов

YAML не содержит исполняемых файлов. Поэтому можно безопасно обмениваться YAML-файлами с третьей стороной.

Чтобы использовать исполняемые файлы, YAML нужно интегрировать с другими языками, например Perl или Java.

Синтаксис YAML

В языке есть несколько базовых концепций, которые позволяют обрабатывать большинство данных.

Пары ключ-значение

Большинство данных в YAML-файле хранятся в виде пары ключ-значение, где ключ — это имя пары, а значение — связанные данные.

Скаляры и маппинг

Скаляр представляет собой одно значение, которому соответствует имя.

YAML поддерживает стандартные типы: int и float, boolean, string и null.

Строки

Строка — это коллекция символов, которая может содержать слово или предложение. Можно использовать либо |, для отдельных строк, либо >, для параграфов.

Кавычки в YAML не нужны.

Последовательности

Последовательности — это структуры данных похожие на списки или массивы, которые хранят несколько значений под одним ключом. Они определяются с помощью отступов или [].

Однострочные последовательности выглядят лаконичнее, но хуже читаются.

Словари

Словари — это коллекции пар ключ-значение, которые хранятся под одним ключом. Они позволяют разделить данные на логические категории.

Словари могут содержать более сложные структуры, что позволяет хранить сложные реляционные данные.

Источник

Yaml vs. Json — что круче?

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Сегодня поговорим об интересном (и таинственном для фронтов) формате YAML. Он считается одним из наиболее популярных форматов для файлов конфигураций.

Цель этой статьи — познакомить вас со структурой YAML, помочь понимать, читать и изменять YAML-файлы. Для тех, кто уже знаком с форматом — напомнить про некоторые его особенности. И сравнить YAML с JSON.

Цели создания

Сообщество разработчиков устало от «зоопарка» различных форматов для конфигов, им хотелось упростить себе жизнь и прийти к единому понятному формату. И в 2001 году Кларк Эванс создал YAML 1.0.

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader
Рис.1. Определение из официальной документации

Сейчас последняя версия — YAML 1.2, и она в основном используется как формат для файлов конфигурации Ruby on Rails, Dancer, Symfony, GAE framework, Google App Engine и Dart. Также YAML является основным языком описания классов, ресурсов и манифестов для пакетов приложений OpenStack Murano Project и Swagger.io.

YAML vs. JSON

По сути YAML — это расширенная версия известного нам формата JSON.

Чтобы лучше разобраться в формате, давайте сначала рассмотрим пример JSON-конфига:

Этот файл очень легко читается, мы можем быстро определить, что к чему, но … нужно знать, что у JSON-формата есть некоторые ограничения:

Попробуем переписать наш пример в формате YAML. Пока рассмотрим только синтаксис, а остальные особенности чуть позже.

*Хабр не умеет подсвечивать YAML, так что пришлось разместить картинки
Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Как вам? Мне на первый взгляд показалось, что очень похоже на Python, но с какими-то опечатками.

Рассмотрим синтаксис подробнее.

Концепции, типы, синтаксис

Отступы

В YAML для разделения информации очень важны отступы. Нужно помнить, что используются только пробелы, табы не допускаются.

При отсутствии отступа перед первым объявлением YAML поймет, что это корень (уровень 0) вашего файла.

Если вы привыкли использовать tab-ы вместо пробелов, то можно использовать какой-нибудь плагин в вашей IDE, чтобы заменить все пропуски на пробелы (например, editorconfig).

Ключ/Значение

Как и в JSON/JS, в YAML есть синтаксис ключ/значение, и вы можете использовать его различными способами:

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Комментарии

Чтобы написать комментарий, вы можете использовать #, а затем ваше сообщение.

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Это круто, когда нужно задокументировать какое-то решение или сделать заметку в конфиге. К сожалению, мы не можем так сделать в JSON.

Списки

В YAML есть 2 способа написания списков:

Помните, что YAML — это расширенный JSON? Поэтому мы можем использовать его синтаксис

Наиболее распространенный и рекомендуемый

Числа

Тут все стандартно: целые числа и числа с плавающей точкой.

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Строки

Есть несколько способов объявить строку в YAML:

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Если вы хотите использовать какой-нибудь специальный символ, например, _ или @, то нужны будут кавычки.

Напомню, что в JSON у нас есть только один способ написания строк — двойные кавычки.

Якорь (переменная или ссылка)

Якорь — это механизм для создания переменных, на которые затем можно ссылаться.

Давайте представим, что вам нужно создать конфигурацию для вашего CI. Он будет иметь версию для production и development сред. Обе версии будут иметь почти одинаковые базовые настройки.

В JSON нам пришлось бы дублировать эти конфиги:

Копирование и вставка очень раздражают, особенно когда нужно что-то изменить во всех местах.

Якорь решает эту проблему. Для его создания используется символ якоря (&), а для вставки — алиас (*).

Yaml что это простыми словами. image loader. Yaml что это простыми словами фото. Yaml что это простыми словами-image loader. картинка Yaml что это простыми словами. картинка image loader

Yaml что это простыми словами. . Yaml что это простыми словами фото. Yaml что это простыми словами-. картинка Yaml что это простыми словами. картинка
Рис.2. Отсылка к фильму «Матрица»

Возможности YAML-а покоряют при его сравнении с JSON. Но если у вас довольно простой конфиг в пару-тройку строк, то нет смысла усложнять и использовать дополнительные возможности YAML, лучше выбрать JSON. А если же у вас довольно большой и витиеватый файл, то тут однозначно стоит рассмотреть YAML.

У YAML есть еще несколько интересных фишек таких как: многострочный ввод, мерж блоков, матрицы, наследование и другие.

Так как YAML — это расширенный JSON, то мы можем писать YAML-файл в JSON-формате, и он будет работать. Это отличная особенность, которая позволит легче начать изучение YAML.

Источник

YML-файл: зачем он нужен магазинам и как его создать

Руководство для тех, кто хочет продавать на Яндекс.Маркете

Маркетплейс (агрегатор товарных предложений от разных продавцов) — удобный ресурс для пользователя. На одной площадке собрано большое количество товаров, есть возможность изучить отзывы покупателей и сравнить цены.

Яндекс.Маркет — самый популярный российский маркетплейс с огромной аудиторией. Технически для попадания на его витрину требуется создать специальный прайс-лист в формате YML. Это файл с данными о всех товарах, которые вы планируете размещать на площадке. Составили подробную инструкцию, как подготовить этот файл и загрузить его в систему.

YML-файл: что это и зачем он нужен

У Яндекс.Маркета есть определенные требования к прайс-листам, их содержанию и формату. Для загрузки товаров можно использовать привычные форматы XLS (файл Excel) и CSV. Однако предпочтительнее создавать документ YML (Yandex Market Language) — собственную разработку Яндекса на базе стандарта XML.

Готовить прайс-лист в формате YML немного сложнее, чем в XLS или CSV. Однако он дает ряд преимуществ. Например, позволяет автоматизировать процесс обновления товарных позиций и их характеристик.

Вот как это работает:

Контекст на профессиональном уровне и без агентства — в системе PromoPult.

Автоматический подбор слов, автогенерация объявлений, «умное» управление ставками. Готовые отраслевые решения. Статистика в реальном времени. Для профессионалов — множество точных настроек.

Как выглядит YML-файл

Прайс-лист для Яндекс.Маркета состоит из общей информации о магазине и списка товарных предложений (офферов).

Шапка

В шапке YML-файла указана:

Вот так выглядит шапка в YML-файле (первые две строки):

Информация о магазине

Внутри элемента указана информация о магазине, оффере и другие данные:

Yaml что это простыми словами. yml fajl 1. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 1. картинка Yaml что это простыми словами. картинка yml fajl 1

В элемент вложены другие элементы:

Есть еще и дополнительные, необязательные элементы, входящие в : CMS и ее версия, название агентства, которое отвечает за техподдержку сайта, и другие. Подробнее о них читайте в соответствующем разделе Справки.

Оффер

Вот как выглядит часть YML-файла с одним товарным предложением ( ):

Yaml что это простыми словами. yml fajl 2. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 2. картинка Yaml что это простыми словами. картинка yml fajl 2

На этом скриншоте показан — одно товарное предложение (в данном случае мороженица). Маркет использует эти данные и создает карточку товара.

Элемент может быть упрощенного и произвольного типа. Разница — в названии товара:

Подробное описание формата — по ссылке.

Подробнее обо всех элементах YML-файлов можно почитать здесь.

Не все элементы обязательны к использованию. Для каждой категории товаров перечень обязательных и рекомендуемых элементов будет разным. У Яндекса есть готовые рекомендации по подготовке прайс-листов для разных категорий. Подробно описывать все их нет смысла — воспользуйтесь удобным рубрикатором Справки Яндекса.

Как создать YML-файл

Есть три основных способа создания YML-файлов:

Вручную

Это самый трудоемкий способ. Он подойдет интернет-магазинам, у которых не более 20-30 товарных предложений.

Можно попросить программиста написать скрипт для выгрузки товарных предложений в YML-файл. На GitHub есть готовые библиотеки, которыми можно воспользоваться для генерации YML-файлов. Например, вот эта.

Модули для CMS

Большинство популярных CMS могут экспортировать данные из интернет-магазинов в YML-файлы. У одних CMS есть встроенный функционал — файл можно сгенерировать прямо в административной панели сайта. В других случаях приходится использовать дополнительные модули/плагины.

Yaml что это простыми словами. yml fajl 3. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 3. картинка Yaml что это простыми словами. картинка yml fajl 3 Яндекс подсказывает, в каких CMS можно создать YML-файл

Полный список CMS, в которых можно создавать файл прайс-листа для Яндекс.Маркета, здесь.

С помощью софта

Можно воспользоваться программным обеспечением сторонних разработчиков, созданным специально для генерации YML-файлов.

Например, YML-генератор от Mysitemapgenerator.com. С ним можно:

Важно! Страницы товарных предложений (карточки товара) должны содержать разметку Schema.org Product или Open Graph Product. Детально микроразметку Schema.org мы разобрали здесь, Open Graph — тут. О добавлении разметки с помощью Google Tag Manager вы можете почитать в этой статье.

Как добавить прайс-лист на Яндекс.Маркет

После регистрации магазина на Маркете помимо указания необходимой информации о нем нужно добавить прайс-лист.

Делается это в разделе Ассортимент → Прайс-лист.

Yaml что это простыми словами. yml fajl 4. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 4. картинка Yaml что это простыми словами. картинка yml fajl 4 Добавление прайс-листа на Маркет

Добавить прайс можно тремя способами:

Способ 1. Разместить YML-файл на сайте вашего интернет-магазина (обычно — в корневой папке), а в личном кабинете Маркета добавить ссылку на него. Если доступ на сервер, где хранится файл, защищен, укажите логин и пароль.

Yaml что это простыми словами. yml fajl 5. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 5. картинка Yaml что это простыми словами. картинка yml fajl 5 Добавление ссылки на прайс-лист

После добавления файла нажмите кнопку «Проверить прайс-лист». Система проверит его, и если найдет ошибки, сообщит о них.

Yaml что это простыми словами. yml fajl 6. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 6. картинка Yaml что это простыми словами. картинка yml fajl 6 Проверка прайс-листа перед загрузкой на Маркет

После загрузки прайс появится в общем списке.

Yaml что это простыми словами. yml fajl 7. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 7. картинка Yaml что это простыми словами. картинка yml fajl 7 Список загруженных прайс-листов на Маркете

Способ 2. Загрузить YML-файл напрямую (размер не должен превышать 100 Мб). Для этого в окне загрузки выберите «Файл» и загрузите прайс с компьютера.

Yaml что это простыми словами. yml fajl 8. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 8. картинка Yaml что это простыми словами. картинка yml fajl 8 Загрузка YML-файла напрямую

Способ 3. Загрузка прайса с помощью макроса в Excel. Способ подходит, если вы составляли прайс в Excel. Он позволяет установить связь вашего файла в Excel с Яндекс.Маркетом и обновлять прайс автоматически после внесения изменений в исходный файл. Для использования этой функции нужно авторизоваться в Excel, используя полученный в Яндексе номер рекламной кампании и ключ. Подробно об этом способе — в справке Яндекса.

Yaml что это простыми словами. yml fajl 9. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 9. картинка Yaml что это простыми словами. картинка yml fajl 9 Загрузка прайса из Excel

Проверка YML на ошибки

После создания YML его стоит проверить на ошибки в валидаторе XML-фидов в Яндекс.Вебмастере (вот ссылка). Для этого выберите схему валидации документа (недвижимость, работа, видео, Маркет и другие) и источник XML-данных (файл, ссылка или текст).

Yaml что это простыми словами. yml fajl 10. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 10. картинка Yaml что это простыми словами. картинка yml fajl 10

Если вы не проверите YML-файл, в любом случае при добавлении его в Яндекс.Маркет сервис проверит его на ошибки и выдаст отчет.

Ошибки могут появиться как в случае создания YML-файла вручную, так и тогда, когда вы просто выгружали его с помощью модуля CMS.

Есть несколько классификаций ошибок, о которых сообщает Яндекс:

Подробнее об ошибках — здесь.

Обновление прайс-листа формата YML

Обновление прайс-листа необходимо для того, чтобы на карточках товарных предложений в Маркете всегда отображалась актуальная информация о:

Размещенный на Маркете прайс-лист нужно обновлять как минимум один раз в 30 дней, если вы загружали его в личном кабинете.

Если же YML-файл находится на сайте, нужно обновлять его каждый раз, как происходят изменения ключевых параметров (цена, количество товара и т.д.). Робот Яндекс.Маркета сам скачает обновленный файл при индексации.

Общая индексация Яндекс.Маркета проводится каждые 3-6 часов. За это время полностью обновляются все товарные предложения на Маркете. Измененные цены и скидки обновляются быстрее — 30-40 минут.

Удобнее всего настроить автоматическое обновление YML-файла на сайте. Тогда на Маркете всегда будет актуальная информация.

YML-файл полезен не только для Яндекс.Маркета, но и контекстной рекламы

Добавление магазина на Яндекс.Маркет — не единственная причина создать YML. Еще один вариант применения YML-файла — быстрое составление объявлений для контекстной рекламы. Для того чтобы в один клик получить объявления для каждого товара:

Yaml что это простыми словами. yml fajl 11. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 11. картинка Yaml что это простыми словами. картинка yml fajl 11

Объявления составляются для Яндекс.Директа и Google Ads и выглядят так:

Yaml что это простыми словами. yml fajl 12. Yaml что это простыми словами фото. Yaml что это простыми словами-yml fajl 12. картинка Yaml что это простыми словами. картинка yml fajl 12

Без автоматизации пришлось бы долго вручную перебирать все названия и цены товаров. Для интернет-магазинов с большим ассортиментом Генератор из YML — удобное решение. Вот исчерпывающий гайд по работе с Генератором из YML от PromoPult.

Если же вы хотите полностью избавиться от необходимости составлять объявления контекстной рекламы, попробуйте инструмент «Написание контекстных объявлений» от PromoPult. Вот инструкция по работе с ним.

Резюме

Размещение товарных предложений на Яндекс.Маркете дает ряд преимуществ:

Поэтому однозначно стоит воспользоваться этим инструментом. Стать участником маркетплейса несложно, к тому же это доступно даже малому бизнесу.

Следуя нашей инструкции, вы легко подготовите YML-файл.

И напоследок: позаботьтесь о должном качестве сайта, чтобы привлекаемый трафик не уходил из-за досадных ошибок.

Источник

Руководство для начинающих YAML

YAML — это не язык разметки или сокращенно YAML — это язык сериализации данных, обычно используемый в файлах конфигурации, таких как Kubernetes, Docker, Ansible и многих других. Его популярность росла с годами, что сделало его своего рода конкурентом JSON.

Хорошо, если YAML не является языком разметки, что это такое?

Как уже упоминалось, YAML — это язык сериализации данных, разработанный для улучшения удобочитаемости за счет использования отступов и собственных структур данных. Думайте об этом как о строгом надмножестве JSON или как о помесье JSON и XML. Этот гибрид позволяет ему делать то, что может JSON, и другие дополнительные функции.

Цель этого руководства — познакомить вас с YAML, дать вам руководство по синтаксису языка, предоставить вам быстрые инструменты для работы с YAML и научить использовать его для файлов конфигурации и многое другое.

Как написать YAML

Написание YAML невероятно интуитивно понятно (я думаю, в этом суть), поскольку он использует синтаксис пары ключ-значение. Таким образом, это похоже на словарь в Python. Однако, в отличие от Python, YAML не позволяет использовать интервалы табуляции; он использует пробелы.

Чтобы начать новый документ YAML, мы начинаем с трех тире, обозначающих начало нового файла.

Эта функция позволяет вам иметь несколько документов, разделенных тире, в одном файле.

Создайте файл с расширением.YAML и добавьте следующее содержимое.

language : Python

author : Guido van Rossum

country : Netherlands

language : JavaScript

author : Brendan Eich

country : United States

language : Ruby

author : Yukihiro Matsumoto

country : Japan

Как видно из приведенного выше файла, каждый документ в yaml начинается с трех точек, за которыми следуют данные, хранящиеся в парах ключ-значение.

Установите YAML linter

Прежде чем продолжить, давайте подтвердим, что у нас есть действующий файл YAML. Для этого нам необходимо установить линтер YAML.

Линтер — это инструмент, который проверяет и уведомляет разработчика об ошибках программирования, таких как синтаксические ошибки и недопустимые конструкции. Например, он позволяет вам проверить допустимый синтаксис файла.

В нашем примере мы будем использовать yamllint.

Для установки используйте apt как:

После установки мы можем запустить линтер для файла с помощью команды

Если файл содержит допустимый синтаксис YAML, он не дает нам никаких результатов.

Теперь попробуйте добавить пробелы внутри файла YAML или добавить один дефис внизу как:

language : Python

author : Guido van Rossum

country : Netherlands

language : JavaScript

author : Brendan Eich

country : United States

language : Ruby

author : Yukihiro Matsumoto

country : Japan

Если мы запустим линтер для этого файла, появятся ошибки, как показано ниже:

ПРИМЕЧАНИЕ. Подобно словарям в Python и аналогичным структурам данных в различных языках программирования, пары ключ-значение в документе YAML должны быть уникальными.

Типы данных YAML

YAML поддерживает различные способы представления данных. Они включают:

#: Scalar types

Это наиболее распространенный тип данных в YAML. Они представлены в виде пар «ключ-значение», как показано в примере выше.

Значения в паре могут быть любого типа, например строки, числа, включая шестнадцатеричные, целые числа и т. Д.

#: Strings

YAML также поддерживает строки, заключенные в одинарные или двойные кавычки. Это не является требованием, поскольку синтаксический анализатор YAML определит это, но может быть полезным, особенно в строках с escape-символами.

Ниже приведены примеры действительных строк в YAML.

string : This is a string

string2 : “This is also a string”

string : ‘so is this one’

ПРИМЕЧАНИЕ. Не забудьте закрыть двойные или одинарные кавычки, если они используются. Следующее приведет к ошибке.

invalid: ‘this is incorrect

Чтобы добавить абзац в файл YAML, используйте знак (больше). Не забудьте добавить пробел перед строкой. Например:

para: >

creating a paragraph

that spans for more than one

#: Numeric Types

Другой тип данных, поддерживаемый в YAML, — это числовые типы. Числовые типы включают целые, десятичные, шестнадцатеричные, восьмеричные и другие числовые типы.

Следующий синтаксис YAML представляет числовые типы.

#: Lists

Списки в YAML указываются одним тире как:

#: Sequences

Последовательности — это типы данных, используемые для хранения нескольких значений в одном и том же ключе. Например:

#: Mappings

Сопоставление очень похоже на последовательность, но состоит из пар ключ-значение, содержащихся в одной подгруппе.

Servers :

— apache :

name : server1

os : Debian 10

version : 2.4.46

— IIS :

name : iis-v01

os : Windows Datacenter 2019

version : 10.0.17763

мы устанавливаем null в YAML, используя тильду (

) или строку null, как показано в примере ниже:

#: Arrays

Массивы в YAML указываются в квадратных скобках в одной строке. В следующем примере показано определение массивов в YAML.

Комментарии YAML

YAML также поддерживает комментарии, которые позволяют добавлять дополнительную информацию к данным YAML. Парсер игнорирует комментарии.

YAML comments begin with an Octothorpe ( #).

# This is a comment in YAML

Преобразование YAML в JSON

В некоторых случаях нам может потребоваться преобразовать YAML в JSON. Поскольку они тесно связаны между собой, имеет смысл использовать одно в другом.

Для таких сценариев мы можем использовать такой инструмент, как yq, который представляет собой синтаксический анализатор YAML / XML для jq.

Чтобы установить его, используйте pip с командой, как показано ниже:

ПРИМЕЧАНИЕ. Убедитесь, что у вас установлен jq, поскольку это обязательная зависимость для yq.

Предположим, у нас есть образец файла для создания пода Kubernetes (Kubernetes.yaml) с таким содержимым, как показано:


apiVersion : v1
kind : Pod
metadata :
name : store-site
labels :
app : web
spec :
containers :
— name : nginx
image : nginx
ports :
— containerPort : 8080
volumeMounts :
— name : master
mountPath : /var/www/html/nginx
dnsPolicy : Default
volumes :
— name : home_directory
emptyDir :

ПРИМЕЧАНИЕ. Приведенный выше файл предназначен для иллюстрации и может содержать ошибки при использовании в реальном экземпляре Kubernetes.

Чтобы преобразовать файл YAML в JSON, используйте команду:

После выполнения приведенной выше команды содержимое файла автоматически преобразуется в JSON, как показано ниже:

Это упрощает работу при переходе с JSON на YAML и наоборот.

Заключение

YAML — это невероятно мощный инструмент, который позволяет создавать хорошо читаемые и совместимые файлы конфигурации для служб поддержки. Используя концепции этого руководства, вы можете создавать сложные документы YAML для своих приложений или приложений, поддерживающих YAML.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *