从数据工厂管道触发器调用azure函数时出错
我正在使用ADF函数活动在数据工厂管道中调用http触发的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"
{
"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”}