如何在Azure数据工厂中的触发器运行期间将参数传递给管道?

时间:2020-06-04 03:19:47

标签: azure azure-data-factory

据我所知,我可以通过手动运行传递参数(现在触发)。但是,如果我想将管道设置为每天自动运行,并且能够传递参数而又不进入立即触发管道页面呢?

另一个问题是,在管道设计期间,我设置了很少的参数和与其链接的逻辑,例如“如果参数为null,则运行所有表,它有值,然后仅运行该表”,即为用户输入针对特定表的重新运行。 但是,我注意到消息“未提供未提供值的参数将不会包含在触发器中。”,这是否意味着如果我想每天自动触发它,则无法以这种方式设置管道中的逻辑?

非常感谢!

1 个答案:

答案 0 :(得分:0)

实施沉重的ADF逻辑可能很困难。您可以设置参数的默认值,但是我认为那些参数需要动态设置?

您还可以在管道的开头使用管道变量和一个名为“设置变量”的“活动”,并使用表达式根据基于参数设置的变量来运行您的活动?

在我们的项目中,我们做了甚至更复杂的事情,并且每周一次从Azure Devops部署和触发管道。因此,不是ADF本身会触发管道,而是AzureDevops计划的运行会触发管道。

Powershell:

$parameters = @{
    "parameterName1" = $parameterValue
    "parameterName2" = $ParameterValue
}

Invoke-AzDataFactoryV2Pipeline -DataFactoryName $DataFactoryName -ResourceGroupName 
$ResourceGroupName -PipelineName $pipelineName -Parameter $parameters

使用powershell,您可以在此时实现您真正想要的任何逻辑,将值传递给ADF。