繁体   English   中英

如何使用PowerShell为Azure Data Factory V2数据集/管道获取有效的JSON?

[英]How can you get valid JSON for Azure Data Factory V2 Datasets/Pipelines using PowerShell?

我在Azure Data Factory V2中有一些需要更新的管道。 具体来说,我需要更新数据集的架构。 我最初使用用户界面创建它们。 由于列数很大,因此用户界面处理它们的速度变得非常慢,因此我想切换到使用PowerShell。

我整理了一个脚本,可以使用Set-AzureRmDataFactoryV2DatasetSet-AzureRmDataFactoryV2Pipeline cmdlet从JSON文件更新它们。 我还希望能够使用PowerShell使用当前配置生成JSON文件。 我尝试使用匹配的Get-AzureRmDataFactoryV2DatasetGet-AzureRmDataFactoryV2Pipeline cmdlet,这些cmdlet对于获取有关它们的常规信息很有用,但是我无法从PSDataSet对象返回到有效的JSON文件。 以下是我一直在尝试的命令,但最终给了我一堆用于该模式的空JSON数组。

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

编辑:根据Wang Zhang的回答,我编辑了ConvertTo-Json语句,如下所示。 现在,输出看起来好得多(没有空数组),但是仍然与Azure数据集JSON架构不匹配

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

您能否告诉您在第二个命令中设置“ -Depth -100 ”的原因? 似乎将其删除并修改第二条命令,因为以下操作效果良好:

ConvertTo-Json $ dtSrc.Properties | 输出文件“ $ dtSrcName.json”-宽度1000000

请尝试一下。

您可以下载ADF的ARM模板(它们使用json格式),然后使用UI,az-cli甚至是powershell对其进行编辑并再次上传。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM