考虑以下数据工厂复制活动的测试映射:
"translator": {
"columnMappings": "@json('{"from":"to"}')",
"type": "TabularTranslator"
}
在Set-AzureRmDataFactoryV2Pipeline
PowerShell cmdlet的帮助下部署管道后,我们得到了具有源代码中指定的确切columnMappings
值的正常部署管道。但如果你想变得更有活力:
"translator": {
"columnMappings": "@json(pipeline().parameters.Mapping)",
"type": "TabularTranslator"
}
那么在部署之后,您会发现管道中完全缺少translator
元素。一个变通方法-在Azure Portal Data Factory管道编辑UI中设置翻译器(在Designer或JSON模式下,这两种选项都有效(。但是,如果在这些操作之后将管道JSON保存到文件中,并尝试通过Set-AzureRmDataFactoryV2Pipeline
PowerShell cmdlet-bang进行部署,则translator
将丢失。预期结果-部署应保留translator
元素,因为Portal JSON编辑器会保留它。
我们正在进行管道的自动部署(正如您已经发现的那样,在Set-AzureRmDataFactoryV2Pipeline
的帮助下(,这个错误破坏了我们的自动部署,因为它需要在Azure Portal UI上手动进行部署后管道编辑。
这种错误行为的原因可能是什么?你能建议如何以自动化的方式解决这个错误吗?或者如何修复代码,以便使用Set-AzureRmDataFactoryV2Pipeline
正确部署它?
您可以尝试"更新模块-名称AzureRm.DataFactoryV2"是否有帮助。这可能是由于您的powershell模块已过期所致。