Azure devops ADF部署时的触发器状态更新
我正在使用azuredevops管道将adfarm模板从DEV实例部署到PROD 下面是我所遵循的部署步骤。Azure devops ADF部署时的触发器状态更新,azure-devops,azure-data-factory,azure-data-factory-2,azure-data-factory-pipeline,azure-devops-pipelines,Azure Devops,Azure Data Factory,Azure Data Factory 2,Azure Data Factory Pipeline,Azure Devops Pipelines,我正在使用azuredevops管道将adfarm模板从DEV实例部署到PROD 下面是我所遵循的部署步骤。 Microsoft提供的用于在部署前停止触发器的脚本 ARM模板部署 Microsoft提供的用于启动触发器和删除JSON文件中未包含的资源的脚本。 在下面页面的标题下部署前和部署后脚本示例 我有大约20个触发器,其中15个处于运行状态,5个在PROD中停止一段时间。 在我的开发实例中,所有触发器都处于停止状态,以避免不必要的管道运行。 但在部署到PROD时,我需要将20个触发器中的
有没有办法在此作业中添加多个触发器名称?请检查以下事项:
如您所述,Microsoft提供的部署前-部署后脚本在部署前暂停所有活动触发器,然后在部署后将它们恢复到ARM模板中指定的状态。(他们建议在部署前暂停触发器以避免问题) 一种解决方案是创建自定义powershell脚本,并在部署ARM模板后执行该脚本。您可以使用Microsoft提供的脚本中也使用的
Start-AzDataFactoryV2Trigger
cmdlet
例如:
$ResourceGroupName = "my-resource-group"
$DataFactoryName = "my-data-factory'
$triggersToStart = @("trigger-1", "trigger-2", "trigger-3")
$triggersToStart | ForEach-Object {
Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_ -Force
}
目前,我在ARM模板部署任务之后添加了一个新的azure powershell任务,以启动所需的触发器 ResourceGroupName、DataFactoryName、TriggersToStart详细信息作为启动触发器的脚本的参数传递。因此,我们可以在每次部署期间添加/删除启用的触发器。 下面是我用来获取参数并使用下面的脚本启动触发器的脚本
param
(
[parameter(Mandatory = $false)] [String] $ResourceGroupName,
[parameter(Mandatory = $false)] [String] $DataFactoryName,
[parameter(Mandatory = $false)] [Array] $triggersToStart
)
Foreach($trigger_name in $triggersToStart)
{
Write-Host "Starting Trigger : " $trigger_name
Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $trigger_name -Force
}
脚本无法从本地计算机运行。正如我在问题中提到的,重新启动触发器的脚本似乎导致了这个问题。绝对正确的阿披舍克。这正是我已经尝试过的,并且到现在为止效果很好。我已经创建了一个新的azure powershell任务,通过将触发器名称作为脚本的参数传递给strart Triggers