Microsoft Azure — создание фрагмента JSON для создания инициативы политики с использованием файла CSV
Здесь, в этой статье, мы собираемся создать собственный сценарий JSON, используя данные, заполненные в файле CSV, для автоматизации.
Что мы собираемся сделать, так это сначала преобразовать список заданных идентификаторов политики из CSV во фрагмент кода JSON в качестве предварительного условия для создания пользовательского определения инициативы политики для автоматизации.
Реализация:
Выполните следующие шаги, чтобы создать фрагмент JSON для создания инициативы политики с помощью CSV-файла:
Шаг 1: Создайте новый файл с расширением .csv и идентификаторами политик, и формат должен выглядеть следующим образом. « PolicyID» в качестве заголовка и добавьте требуемые идентификаторы определения политики в качестве значений один за другим.

Шаг 2. После создания CSV-файла войдите на портал Azure .
Шаг 3. На портале Azure. Получите доступ к облачной оболочке и выберите PowerShell .
Шаг 4. Теперь загрузите созданный CSV-файл в хранилище облачной оболочки.
Откройте Cloud Shell и нажмите «Загрузить/загрузить файлы » >> Выберите «Загрузить » >> Выберите созданный CSV-файл на локальном диске и выберите.

Шаг 5. Теперь создайте новый файл PowerShell с расширением .ps1.
Синтаксис:
touch <filename>.ps1
code <filename>.ps1
Пример:
touch policygen.ps1
Code policygen.ps1
Откройте <filename>.ps1 и скопируйте следующий код и сохраните файл.
$PolicyIDs = Import-CSV .PolicyID.csv
Write-Output "["
foreach ($PolicyID in $PolicyIDs)
{
Write-Output " {"
Write-Output (" " + " ""policyDefinitionId""" + " : " + """/providers/Microsoft.Authorization/policyDefinitions/" + $Policy.PolicyID + """,")
Write-Output " },"
}
Write-Output "]"
Шаг 6: Запустите файл <filename>.ps1
./<filename>.ps1
Пример:
./policygen.ps1
Выход:

Шаг 7: Сохраните вывод консоли в файл с расширением .json.
./<filename>.ps1 | Out-File ./<filename>.json
Пример:
./policygen.ps1 | Out-File ./sample.json
Выход:

Теперь этот сценарий sample.json можно использовать в автоматизации конвейеров CI/CD для создания или обновления определений пользовательской инициативы и определений политик, а также его можно использовать с командлетами Azure PowerShell.