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.