Microsoft Azure — создание фрагмента JSON для создания инициативы политики с использованием файла CSV

Опубликовано: 7 Сентября, 2022

Здесь, в этой статье, мы собираемся создать собственный сценарий 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.