У меня есть несколько конвейеров в Azure Data Factory V2, которые мне нужно обновить.В частности, мне нужно обновить схему наборов данных.Я изначально создал их с помощью пользовательского интерфейса.Поскольку количество столбцов очень велико, пользовательский интерфейс стал очень медленным для работы с ними, поэтому я бы хотел перейти на использование PowerShell.
Я собрал скрипт, который я могу использовать для обновления их из файла JSON с помощью командлетов Set-AzureRmDataFactoryV2Dataset
и Set-AzureRmDataFactoryV2Pipeline
.Я также хотел бы иметь возможность создавать файлы JSON с текущими конфигурациями с помощью PowerShell.Я попытался использовать соответствующие командлеты Get-AzureRmDataFactoryV2Dataset
и Get-AzureRmDataFactoryV2Pipeline
, которые были полезны для получения общей информации о них, но я не смог перейти от объекта PSDataSet, возвращенного к допустимому файлу JSON.Ниже приведены команды, которые я пробовал, но в итоге получаю кучу пустых JSON-массивов для схемы.
$dtSrc = Get-AzureRmDataFactoryV2Dataset -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $dtSrcName
ConvertTo-Json $dtSrc.Properties -Depth 100 | Out-File "$dtSrcName.json" -Width 1000000
Редактировать: Основано на ответе ВанаЧжан, я отредактировал свое заявление ConvertTo-Json
, как показано ниже.Вывод теперь выглядит намного лучше (без пустых массивов), но он по-прежнему не соответствует схеме JSON Azure Dataset.
$dtSrc = Get-AzureRmDataFactoryV2Dataset -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $dtSrcName
ConvertTo-Json $dtSrc -Depth 1 | Out-File "$dtSrcName.json" -Width 1000000