我正在尝试创建一个主管道,它将检查子管道是否必须使用数据库中的配置运行。子管道的名称是主管道的参数。我们想使用传递给项目的参数选择管道名称以执行管道活动。最终目标是,如果我们已经检索到数据,我们不希望再次从源中获取数据。如果整个 ETL 过程中出现任何错误,我们希望避免运行已经完成的管道。
我试图避免创建自定义活动,因为它需要 Azure Batch 帐户。
有任何想法吗?
我正在尝试创建一个主管道,它将检查子管道是否必须使用数据库中的配置运行。子管道的名称是主管道的参数。我们想使用传递给项目的参数选择管道名称以执行管道活动。最终目标是,如果我们已经检索到数据,我们不希望再次从源中获取数据。如果整个 ETL 过程中出现任何错误,我们希望避免运行已经完成的管道。
我试图避免创建自定义活动,因为它需要 Azure Batch 帐户。
有任何想法吗?
您是否考虑过使用 powershell 脚本调用管道?从此处https://azure.microsoft.com/en-us/downloads/安装 Azure SDK for powershell ,您可以使用它运行管道。如果您以某种方式获得要运行的管道的名称,我认为这是处理您想做的事情的最简单方法。
这是您从 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,但是有一些方法可以自动化它,我没有解释以使其更短。