我正在尝试创建一个主管道,它将检查是否必须使用数据库中的配置运行子管道。子管道的名称是主管道的参数。我们希望使用传递给项目的参数来选择执行管道活动的管道名称。 最终目标是,如果我们已经检索到数据,我们不希望再次从源获取数据。如果整个ETL过程中有任何错误,我们希望避免运行已经完成的管道。
我正在尝试避免创建自定义活动,因为它需要Azure Batch帐户。
有什么想法吗?
答案 0 :(得分:0)
您是否考虑过使用PowerShell脚本调用管道?从此处https://azure.microsoft.com/en-us/downloads/安装适用于powershell的Azure SDK,您可以使用它运行管道。如果您以某种方式获取要运行的管道的名称,我认为它是处理您想要执行的操作的最简单方法。
这是你从powershell调用管道的方法(安装了azure sdk):
$SubscriptionName = "yourSubscName"
$ResourceGroupName = "your RG name"
$DFName = "your data factory name"
$PipeName = "your pipeline name"
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionName $SubscriptionName
Invoke-AzureRmDataFactoryV2Pipeline -DataFactoryName $DFName -ResourceGroupName $ResourceGroupName -PipelineName $PipeName
那就是它!您可以从本地PC或Azure自动化(免费)运行此脚本。对于Azure自动化,您可能需要对其进行一些修改,但基本思路是相同的。
希望这有帮助!
PS:要运行此脚本,您必须手动登录到azure,但有一些方法可以将其自动化,但我没有解释为什么缩短它。