首页 > 解决方案 > 获取 HTTP 状态代码:使用带有 AzureRm 模块的 PowerShell 创建 Azure 数据工厂触发器时出现 BadRequest

问题描述

我正在使用 PowerShell 部署 Azure ADF 触发器,除一个触发器外,所有触发器都成功部署。我收到以下错误

[ERROR] Set-AzureRmDataFactoryV2Trigger : HTTP Status Code: BadRequest
[ERROR] Error Code: BadRequest
[ERROR] Error Message: The document creation or update failed because of invalid 
[ERROR] reference 'pipeline1'
[ERROR] Request Id: 895u9iuy-4j34-227f-63d3-948jd8djw86e
[ERROR] Timestamp (Utc):07/13/2020 16:52:28
[ERROR] At C:\Users\user1\source\repos\MyProject\PowerShell\Deploy-AdFTr
[ERROR] iggersWithDLS.ps1:290 char:21
[ERROR] + ...             Set-AzureRmDataFactoryV2Trigger -ResourceGroupName $stora ...
[ERROR] +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ERROR]     + CategoryInfo          : CloseError: (:) [Set-AzureRmDataFactoryV2Trigger 
[ERROR]    ], CloudException
[ERROR]     + FullyQualifiedErrorId : Microsoft.Azure.Commands.DataFactoryV2.SetAzureD 
[ERROR]    ataFactoryTriggerCommand
[ERROR]  

我的 PowerShell 代码如下。

$isTriggerExist = Get-AzureRmDataFactoryV2Trigger -ResourceGroupName $storageAccountRG -DataFactoryName $dataFactoryName -TriggerName $triggerObject.Name -ErrorAction:SilentlyContinue
if($isTriggerExist -eq $null)
{
    Set-AzureRmDataFactoryV2Trigger -ResourceGroupName $storageAccountRG -DataFactoryName $dataFactoryName -Name $triggerObject.Name -DefinitionFile $file -Force
    if($runTimeState[$g] -eq "Started")
    {
        Start-AzureRmDataFactoryV2Trigger -ResourceGroupName $storageAccountRG -DataFactoryName $dataFactoryName -TriggerName $triggerObject.name -Force
    }
}

我正在共享触发器的 JSON 代码。

{
"name": "trg_pipline1",
"properties": {
    "annotations": [],
    "runtimeState": "Started",
    "pipelines": [
        {
            "pipelineReference": {
                "referenceName": "pipeline1",
                "type": "PipelineReference"
            }
        }
    ],
    "type": "ScheduleTrigger",
    "typeProperties": {
        "recurrence": {
            "frequency": "week",
            "interval": 1,
            "startTime": "2019-10-10T00:00:00Z",
            "endTime": "2022-12-14T01:00:00Z",
            "timeZone": "UTC",
            "schedule": {
                "hours": [
                    11,
                    13,
                    15,
                    17,
                    19,
                    21,
                    23
                ],
                "weekDays": [
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday"
                ]
            }
        }
    }
}

}

标签: powershelltriggersazure-data-factoryazure-powershell

解决方案


此错误与此类似。

  • 您能否确保pipeline1在部署之前完全部署trg_pipline1
  • 此外,您能否验证是否遵循此处给出的步骤来创建触发器?(尝试删除"runtimeState": "Started"

推荐阅读