首页 > 解决方案 > 如何在 Azure 数据工厂中的触发器运行期间将参数传递给管道?

问题描述

据我所知,我可以在手动运行中传递参数(现在触发)。但是,如果我想将管道设置为每天自动运行,并且能够在不进入 trigger now 管道页面的情况下传递参数呢?

另一个问题是,在我的管道设计过程中,我设置了一些参数和与之链接的逻辑,比如“如果参数为空则运行所有表,如果有值,则只运行该表”,即用户输入重新运行特定表。但是,我注意到消息“未提供值的参数将不会包含在触发器中。”,这是否意味着如果我想每天自动触发它,我的管道中的逻辑不能以这种方式设置?

非常感谢!

标签: azureazure-data-factory

解决方案


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

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

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

电源外壳:

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

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

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


推荐阅读