考虑对数据工厂复制活动进行以下测试映射:
"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 Editor保留了该元素。
我们正在进行管道的自动部署(如您所知-在Set-AzureRmDataFactoryV2Pipeline
的帮助下),此错误破坏了我们的自动部署,因为它需要在Azure Portal UI上手动进行部署后管道的编辑。
这种越野车行为的原因可能是什么?您能否提出一个想法,如何以自动化方式解决此错误,或如何修复代码以使其可以通过Set-AzureRmDataFactoryV2Pipeline
进行正确部署?
答案 0 :(得分:0)
您可以尝试使用“更新模块-Name AzureRm.DataFactoryV2”是否有帮助。可能是由于您的Powershell模块已过期。