首页 > 解决方案 > 如何使用 PowerShell 为 Azure 数据工厂 V2 数据集/管道获取有效的 JSON?

问题描述

我在 Azure 数据工厂 V2 中有一些需要更新的管道。具体来说,我需要更新数据集的架构。我最初使用用户界面创建它们。由于列的数量非常多,用户界面在处理它们时变得非常慢,所以我想切换到使用 PowerShell。

我整理了一个脚本,可以使用Set-AzureRmDataFactoryV2DatasetSet-AzureRmDataFactoryV2Pipelinecmdlet 从 JSON 文件更新它们。我还希望能够使用 PowerShell 生成具有当前配置的 JSON 文件。我尝试使用对获取有关它们的一般信息很有用的匹配Get-AzureRmDataFactoryV2DatasetGet-AzureRmDataFactoryV2Pipelinecmdlet,但我无法从返回的 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陈述,如下所示。输出现在看起来好多了(没有空数组),但它仍然与Azure 数据集 JSON 架构不匹配。

$dtSrc = Get-AzureRmDataFactoryV2Dataset -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $dtSrcName
ConvertTo-Json $dtSrc -Depth 1 | Out-File "$dtSrcName.json" -Width 1000000

标签: jsonpowershellazure-data-factory-2

解决方案


您可以为您的 ADF 下载 ARM 模板(它们使用 json 格式)编辑它们并再次上传它们,可以使用 UI、az-cli 甚至 powershell。

或者更好的是,将 git 存储库链接到 ADF,然后只需在本地克隆存储库,进行更改并通过推送到指定的生产分支(通常是 master)将它们发布到 ADF。


推荐阅读