Azure devops 在DevOps上部署ADF管道触发器

Azure devops 在DevOps上部署ADF管道触发器,azure-devops,azure-data-factory,azure-data-factory-2,Azure Devops,Azure Data Factory,Azure Data Factory 2,我正在从我的ADF开发人员到ADF暂存环境进行一些初始ADF部署。在MS文档中,它说: 如果尝试更新活动触发器,部署可能会失败。要更新活动触发器,您需要手动停止它们,然后在部署后重新启动它们 这是否意味着我需要在部署前/部署后关闭开发或暂存触发器 第二期。我需要计划在dev(sat)和staging(sun)中的不同日期运行相同的触发器集。那么,我是否需要为每个环境创建一组单独的触发器,或者我是否可以在部署期间重写现有触发器的触发器计划?您需要在开始部署之前停止暂存触发器,并在部署完成后重新启动

我正在从我的ADF开发人员到ADF暂存环境进行一些初始ADF部署。在MS文档中,它说:

如果尝试更新活动触发器,部署可能会失败。要更新活动触发器,您需要手动停止它们,然后在部署后重新启动它们

这是否意味着我需要在部署前/部署后关闭开发或暂存触发器


第二期。我需要计划在dev(sat)和staging(sun)中的不同日期运行相同的触发器集。那么,我是否需要为每个环境创建一组单独的触发器,或者我是否可以在部署期间重写现有触发器的触发器计划?

您需要在开始部署之前停止暂存触发器,并在部署完成后重新启动

此页面具有用于停止触发器的PowerShell脚本:

此外,您还可以使用自定义petameters配置文件更新触发器设置:

要在Arm模板中参数化触发器部署,首先这里是一个在特定日期运行的每周触发器示例:

{
"name": "OnceAWeekTrigger",
"properties": {
    "annotations": [],
    "runtimeState": "Stopped",
    "pipelines": [],
    "type": "ScheduleTrigger",
    "typeProperties": {
        "recurrence": {
            "frequency": "Week",
            "interval": 1,
            "startTime": "2021-05-25T22:59:00Z",
            "timeZone": "UTC",
            "schedule": {
                "weekDays": [
                    "Sunday"
                ]
            }
        }
    }
}
}
创建一个
arm模板参数定义.json
文件,如下所示:

{

    "Microsoft.DataFactory/factories/triggers": {
        "properties": {
            "typeProperties": {
                "recurrence": {
                    "schedule": {
                        "weekDays": "=:-weekDays:array"
                    }
                }
            }
        }
    }
}
此文件指定您要执行Rametrise
schedule_weekDays
属性

运行ADF导出功能后:

npm run build export c:\git\adf /subscriptions/<subscriptionid>/resourceGroups/datafactorydev/providers/Microsoft.DataFactory/factories/<datafactory_name> "ArmTemplate"
参数文件
ArmTemplate\ARMTemplateParametersForFactory.json
如下所示:

  ...  {
        "name": "[concat(parameters('factoryName'), '/OnceAWeekTrigger')]",
        "type": "Microsoft.DataFactory/factories/triggers",
        "apiVersion": "2018-06-01",
        "properties": {
            "annotations": [],
            "runtimeState": "Stopped",
            "pipelines": [],
            "type": "ScheduleTrigger",
            "typeProperties": {
                "recurrence": {
                    "frequency": "Week",
                    "interval": 1,
                    "startTime": "2021-05-25T22:59:00Z",
                    "timeZone": "UTC",
                    "schedule": {
                        "weekDays": "[parameters('OnceAWeekTrigger_weekDays')]"
                    }
                }
            }
        }, ...
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "factoryName": {
            "value": "factory_name"
        },
        "OnceAWeekTrigger_weekDays": {
            "value": [
                "Sunday"
            ]
        }
    }
}

然后,您可以通过修改
onceawektrigger\u weekDays

的数组值,在一周中的不同日期为开发和登台创建不同的参数文件。您可以提供参数配置的示例模板吗?我认为在部署任务的参数覆盖部分中没有看到任何频率/间隔的自定义触发器参数。是否必须显式设置触发器进行参数化?我添加了一个示例,用于为触发器的arm模板部署参数化weekDays属性。