从数据工厂管道触发器调用azure函数时出错

从数据工厂管道触发器调用azure函数时出错,azure,azure-functions,azure-data-factory,azure-data-factory-2,azure-triggers,Azure,Azure Functions,Azure Data Factory,Azure Data Factory 2,Azure Triggers,我正在使用ADF函数活动在数据工厂管道中调用http触发的Azure函数应用程序。它在调试模式下成功执行,但当我发布管道并使用数据工厂触发器运行相同的代码时,我得到以下错误信息- { "errorCode": "3600", "message": "Object reference not set to an instance of an object.", "failureType": "UserError", "target": "AzureFunction"

我正在使用ADF函数活动在数据工厂管道中调用http触发的Azure函数应用程序。它在调试模式下成功执行,但当我发布管道并使用数据工厂触发器运行相同的代码时,我得到以下错误信息-

{
    "errorCode": "3600",
    "message": "Object reference not set to an instance of an object.",
    "failureType": "UserError",
    "target": "AzureFunction"
}
请让我知道,如果我需要做一些额外的属性更改,或者我在这里遗漏了任何东西。当我通过ADF中的函数活动调用函数应用程序时,是否有任何方法可以查看生成的URL

我曾尝试在ADF中使用web活动调用相同的函数应用程序,在调试和触发模式下都可以正常工作

Azure函数的链接服务代码

{
    "name": "linkedservicesAzureFunctions",
    "type": "Microsoft.DataFactory/factories/linkedservices",
    "properties": {
        "typeProperties": {
            "functionAppUrl": "https://xyz.azurewebsites.net",
            "functionKey": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "type": "LinkedServiceReference",
                    "referenceName": "linkedservicesKeyVault"
                },
                "secretName": "functions-host-key-default"
            }
        },
        "type": "AzureFunction"
    }
}

Azure数据工厂中有一个已知的Bug,他们正在对此进行研究。目前,如果您正在使用.NET SDK创建Azure数据工厂,则需要在Azure函数活动中设置类似的标题

new AzureFunctionActivity
                {
                    Name = "CopyFromBlobToSnowFlake",
                    LinkedServiceName = new LinkedServiceReference(pipelineStructure.AzureFunctionLinkedService),
                    Method = "POST",
                    Body = body,
                    FunctionName = "LoadBlobsIntoSnowFlake",
                    Headers = new Dictionary<string, string>{ },
                    DependsOn = new List<ActivityDependency>
                    {
                        new ActivityDependency{
                            Activity = "CopyFromOPSqlServerToBlob",
                            DependencyConditions= new List<string>{"Succeeded" }
                        }
                    }
                }
新AzureFunctionality
{
Name=“CopyFromBlobToSnowFlake”,
LinkedServiceName=新的LinkedServiceReference(pipelineStructure.AzureFunctionLinkedService),
Method=“POST”,
身体,
FunctionName=“LoadBlobsIntoNowFlake”,
Headers=新字典{},
DependsOn=新列表
{
新ActivityDependency{
Activity=“CopyFromOPSqlServerToBlob”,
DependencyConditions=新列表{“成功”}
}
}
}

如果您是通过UI创建Azure功能活动,则只需更新活动描述,然后发布和标题将自动初始化。

感谢Hamdan的回复,但即使在使用UI更新功能活动描述之后,我遇到了相同的错误。尝试通过UI添加标题在从UI添加默认标题值时效果良好。“标题”:{“内容类型”:“应用程序/json”}