PowerShell:
Работа с YAML

Как?

Чтобы работать с YAML в PowerShell, вам нужно будет использовать модуль, такой как powershell-yaml. Сначала установите его:

Install-Module -Name powershell-yaml

Чтение содержимого YAML:

# Импортируйте модуль
Import-Module powershell-yaml

# Загрузите файл YAML
$yamlContent = Get-Content -Path 'config.yaml' -Raw

# Преобразуйте YAML в объект PowerShell
$configObject = ConvertFrom-Yaml -Yaml $yamlContent

# Выведите объект
$configObject

Создание и запись YAML:

# Создайте хеш-таблицу
$person = @{
  name = 'Jane Doe'
  age = 30
  languages = @('English', 'French')
}

# Преобразуйте хеш-таблицу в YAML
$yamlOutput = ConvertTo-Yaml -Data $person

# Запишите YAML в файл
$yamlOutput | Out-File -FilePath 'person.yaml'

Подробнее

YAML появился в начале 2000-х и означает “YAML Ain’t Markup Language” (YAML — это не язык разметки), что является рекурсивным акронимом, подчеркивающим его ориентацию на данные в отличие от языков разметки, таких как HTML. Хотя JSON часто является предпочтительным выбором для API и веб-сервисов из-за его эффективности разбора и компактности, YAML остается популярным из-за его читабельности и большей доступности для редактирования человеком, особенно в файлах конфигурации (например, Docker Compose и Kubernetes).

Альтернативы powershell-yaml включают YamlDotNet с кодом на .NET, или ручной разбор строк YAML - но зачем усложнять себе жизнь?

Внутри powershell-yaml использует YamlDotNet, преобразуя YAML в объекты .NET, с которыми PowerShell может легко работать. Это взаимодействие позволяет плавно переводить данные YAML в экосистему PowerShell.

Смотрите также