Azure data factory 在不更改触发器状态的情况下部署ADF

Azure data factory 在不更改触发器状态的情况下部署ADF,azure-data-factory,azure-data-factory-2,Azure Data Factory,Azure Data Factory 2,我正在Azure Data Factory上制作CI/CD 我确实有一个Azure数据工厂的DEV实例和PROD实例 除了触发器有一个问题外,部署过程进展顺利 我有大约20个触发器,其中15个处于运行状态,5个在PROD中停止一段时间 由于DEV ADF是一个开发实例,我不想在开发实例状态中以预定的方式运行任何触发器,所以所有触发器的状态都设置为stopped 当前,触发器状态从DEV更改为PROD部署是通过替换ARM模板json文件中的字符串“runtimeState”:“Stopped”;“

我正在Azure Data Factory上制作CI/CD

我确实有一个Azure数据工厂的DEV实例和PROD实例

除了触发器有一个问题外,部署过程进展顺利

我有大约20个触发器,其中15个处于运行状态,5个在PROD中停止一段时间

由于DEV ADF是一个开发实例,我不想在开发实例状态中以预定的方式运行任何触发器,所以所有触发器的状态都设置为stopped

当前,触发器状态从DEV更改为PROD部署是通过替换ARM模板json文件中的字符串“runtimeState”:“Stopped”;“runtimeState”:“Started”

但这将在部署后启动生产中的所有触发器,以及停止一段时间的5个触发器


有没有办法在PROD中部署时取消触摸触发器状态,只将新创建的触发器添加到PROD中,而不触摸PROD中现有的触发器?

您可以添加Azure PowerShell任务来执行此活动

您可以编写PowerShell脚本来启动/停止触发器,并将其放入相关管道中

在下面的例子中,我已经在部署之前停止了所有触发器,您可以通过PowerShell添加部署前或部署后步骤来实现这一点


是的!我使用微软提供的这个脚本来停止和启动触发器。但我们应该如何编辑此脚本,以便在部署时保持PROD中触发器的状态不变?据我所知,上述脚本将停止所有活动触发器,部署后脚本将启动这些触发器。我的要求与我在问题中提到的略有不同。好的,然后,我建议从ARM模板中删除您不想更改的触发器的触发器定义,因为我认为这是唯一可行的方法,在这种情况下,您每次都必须更改ARM模板,因为Dev/Prod
Start-AzDataFactoryV2Trigger
支持指定TriggerName,您可以启动所需的触发器:
start-AzDataFactoryV2Trigger-ResourceGroupName“ADF”-DataFactoryName“WikiADF”-TriggerName“ScheduledTrigger”