【问题标题】:How to pass parameters to pipeline during trigger run in Azure Data Factory?如何在 Azure 数据工厂中的触发器运行期间将参数传递给管道?
【发布时间】:2020-06-04 03:19:47
【问题描述】:
据我所知,我可以在手动运行中传递参数(现在触发)。但是如果我想将管道设置为每天自动运行,并且能够在不进入 trigger now 管道页面的情况下传递参数呢?
另一个问题是,在我的管道设计过程中,我设置了一些参数和与之链接的逻辑,例如“如果参数为空则运行所有表,如果有值,则只运行该表”,那是为用户输入重新运行特定表。
但是,我注意到消息“未提供值的参数将不会包含在触发器中。”,这是否意味着如果我想每天自动触发它,我的管道中的逻辑不能这样设置?
非常感谢!
【问题讨论】:
标签:
azure
azure-data-factory
【解决方案1】:
实现繁重的 ADF 逻辑可能很困难。您可以设置参数的默认值,但我认为这些需要动态设置?
您还可以在管道的开头使用管道变量和一个名为“设置变量”的 Activity,并使用表达式根据使用参数设置的变量运行您的 Activity?
在我们的项目中,我们做了一些更复杂的事情,我们每周从 Azure Devops 部署和触发一次管道。所以不是 ADF 本身触发管道,而是 AzureDevops 计划运行。
Powershell:
$parameters = @{
"parameterName1" = $parameterValue
"parameterName2" = $ParameterValue
}
Invoke-AzDataFactoryV2Pipeline -DataFactoryName $DataFactoryName -ResourceGroupName
$ResourceGroupName -PipelineName $pipelineName -Parameter $parameters
使用 powershell,您可以实现此时您真正想要的任何逻辑,将值传递给 ADF。