Azure devops 如何开始修改所有Azure数据工厂触发器

Azure devops 如何开始修改所有Azure数据工厂触发器,azure-devops,azure-data-factory,Azure Devops,Azure Data Factory,以下代码将停止所有Azure Data Factory触发器: $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -Data

以下代码将停止所有Azure Data Factory触发器:

$triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName

$triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
但是,我认为重新启动所有触发器的方法似乎不起作用:

$triggersADF | ForEach-Object { Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
我得到以下错误:

$triggersADF | ForEach-Object { Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
True
Start-AzDataFactoryV2Trigger : HTTP Status Code: BadRequest
Error Code: BadRequest
Error Message: Missing or invalid pipeline references for trigger Trigger_az4
Request Id: 08b0e51a-9a3d-4662-ba8c-8ea62279c558
Timestamp (Utc):10/21/2019 21:05:10
At line:3 char:33
+ ... ch-Object { Start-AzDataFactoryV2Trigger -ResourceGroupName $Resource ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Start-AzDataFactoryV2Trigger], CloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.DataFactoryV2.StartAzureDataFactoryTriggerCommand

Start-AzDataFactoryV2Trigger : HTTP Status Code: BadRequest
Error Code: BadRequest
Error Message: Missing or invalid pipeline references for trigger Trigger_c2l
Request Id: 86a0199d-5399-4079-abd4-7fe6973df222
Timestamp (Utc):10/21/2019 21:05:11
At line:3 char:33
+ ... ch-Object { Start-AzDataFactoryV2Trigger -ResourceGroupName $Resource ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Start-AzDataFactoryV2Trigger], CloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.DataFactoryV2.StartAzureDataFactoryTriggerCommand

有没有想过我可能会出错?

问题似乎在ARM模板中,触发器的有效负载有一个名为pipeline的属性。对于计划触发器,它应该是“管道”。从UI中引用触发器的json,您将看到它应该是一个管道数组,而不是单个管道。

为了停止触发器,您需要将Azure Powershell内联:脚本任务更改为Preview 4,请参见图。

以下代码将重新启动触发器

#Triggers 

    $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName 

$DataFactoryName -ResourceGroupName $ResourceGroupName
        $triggersTemplate = $resources | Where-Object { $_.type -eq "Microsoft.DataFactory/factories/triggers" }
        $triggerNames = $triggersTemplate | ForEach-Object {$_.name.Substring(37, $_.name.Length-40)}
        $activeTriggerNames = $triggersTemplate | Where-Object { $_.properties.runtimeState -eq "Started" -and ($_.properties.pipelines.Count -gt 0 -or $_.properties.pipeline.pipelineReference -ne $null)} | ForEach-Object {$_.name.Substring(37, $_.name.Length-40)}
        $deletedtriggers = $triggersADF | Where-Object { $triggerNames -notcontains $_.Name }
        $triggerstostop = $triggerNames | where { ($triggersADF | Select-Object name).name -contains $_ }


    if ($predeployment -eq $true) {
        Write-Host "Starting active triggers"
        $activeTriggerNames | ForEach-Object { 
            Write-host "Enabling trigger " $_
            Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_ -Force 
        }
    }

The answers came directly from Microsoft. The code can be found at the official site for CI/CD for Azure Data Factory here:
https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment#update-active-triggers

我希望这能有所帮助。

谢谢你的帮助。我在另一个论坛上看到了您对这个问题的回答,但是,我没有看到名为pipeline的属性ARM Template没有用于计划触发器的名为pipeline的属性,请参见以下代码
{“name”:“[concat(parameters('factoryName'),'/trigger_c2l')”,“type”:“Microsoft.DataFactory/Factorys/triggers”、“apiVersion”:“2018-06-01”、“properties”:{“annotations”:[]、“runtimeState”:“Stopped”、“type”:“TumblingWindowTrigger”、“typeProperties”:{