json - 如何使用 PowerShell 为 Azure 数据工厂 V2 数据集/管道获取有效的 JSON?
问题描述
我在 Azure 数据工厂 V2 中有一些需要更新的管道。具体来说,我需要更新数据集的架构。我最初使用用户界面创建它们。由于列的数量非常多,用户界面在处理它们时变得非常慢,所以我想切换到使用 PowerShell。
我整理了一个脚本,可以使用Set-AzureRmDataFactoryV2Dataset
和Set-AzureRmDataFactoryV2Pipeline
cmdlet 从 JSON 文件更新它们。我还希望能够使用 PowerShell 生成具有当前配置的 JSON 文件。我尝试使用对获取有关它们的一般信息很有用的匹配Get-AzureRmDataFactoryV2Dataset
和Get-AzureRmDataFactoryV2Pipeline
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
编辑:根据王章的回答,我编辑了我的ConvertTo-Json
陈述,如下所示。输出现在看起来好多了(没有空数组),但它仍然与Azure 数据集 JSON 架构不匹配。
$dtSrc = Get-AzureRmDataFactoryV2Dataset -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $dtSrcName
ConvertTo-Json $dtSrc -Depth 1 | Out-File "$dtSrcName.json" -Width 1000000
解决方案
您可以为您的 ADF 下载 ARM 模板(它们使用 json 格式)编辑它们并再次上传它们,可以使用 UI、az-cli 甚至 powershell。
或者更好的是,将 git 存储库链接到 ADF,然后只需在本地克隆存储库,进行更改并通过推送到指定的生产分支(通常是 master)将它们发布到 ADF。
推荐阅读
- c++ - 将链表中的某个节点向前移动 n 个位置
- vsto - 在文本框中设置项目符号项的缩进问题
- python - 从文本文件中读取字符串并在另一个文本文件中搜索
- javascript - 启动我的 node.js 应用程序时出现错误连接 ECONNREFUSED 127.0.0.1:3306
- haskell - 镜头中自动生成 Has 类型类的文档在哪里?
- javascript - 将生成器转换为正常功能
- android - 如何修复 Kotlin Android Studio 3.3 中的“未解决的引用”错误
- python-3.x - Python最后出现错误,错误显示KeyError'Open'
- java - 如何使用 JPA 和 Hibernate 为关联的只读实体获取单个实例?
- malware - Clamav 逻辑签名生成