在ADF中调用Azure函数时发生错误“ BadRequest”

我正在创建一个广泛的数据工厂工作流程,该流程将自动创建并填充多个客户的数据仓库,但是我遇到了错误。我将首先发布问题,因为剩余信息有点长。请记住,我是数据工厂和JSON编码的新手。

问题和评论

  • 如何正确将参数传递给“执行管道”活动?
  • 如何将上述参数添加到Azure Function活动中?

问题可能在于正确地传递了参数,也可能在于选取了它-我似乎无法确定哪个参数。如果您发现当前设置有错误,请随时告诉我-感谢所有帮助

错误

{
"errorCode": "BadRequest","message": "Operation on target FetchEntries failed: Call to provided Azure function
'' failed with status-'BadRequest' and message -
'{\"Message\":\"Please pass 'customerId' on the query string or in the request body\"}'.","failureType": "UserError","target": "ExecuteFullLoad"
}

设置:

整个设置从一个函数调用开始,以从在线经济平台吸引新客户。它将它们写入SQL表,从中对其进行处理并加载到最终表中,然后执行新的管道。此过程运行完美。从那里执行以下管道:

在ADF中调用Azure函数时发生错误“ BadRequest”

如您所见,在ForEach循环尝试执行另一个管道之前,所有方法都运行良好,该管道包含azure函数,该函数调用填充该仓库的.NET脚本函数(我知道这很复杂)。这个蔚蓝的功能需要一个customerid来检索令牌并将数据加载到仓库中。我试图将这些标记从InternalCustomerID查找通过ForEach传递到管道和函数中。 ForEach实际上有效,但是“因为内部活动失败”

“执行管道”任务包含以下设置,其中我试图传递来自foreach循环的参数。该过程的这一部分也起作用,因为它执行了两次(在此测试阶段应该执行):

在ADF中调用Azure函数时发生错误“ BadRequest”

我不知道它是否无法成功传递参数,或者无法将其添加到azure函数的主体中。

子管道(FullLoad)包含以下参数。我不确定是否应将默认值设置为覆盖或它实际如何工作。我在互联网上看到的指南还没有默认值。

在ADF中调用Azure函数时发生错误“ BadRequest”

最后是Azure功能的设置。我不确定为正确捕获参数和/或填写内容而需要写的内容-如果是有关错误消息的标题或正文。我知道如果没有尸体就无法执行帖子。
 

在ADF中调用Azure函数时发生错误“ BadRequest”

如果我手动运行此特定功能(使用portal.azure.com的“功能应用程序”部分),则可以通过使用以下设置来正常运行:

在ADF中调用Azure函数时发生错误“ BadRequest”

sjy841503 回答:在ADF中调用Azure函数时发生错误“ BadRequest”

我查看了您所有的详细问题,我认为问题的关键是Azure Function Request Body的格式。

enter image description here

恐怕这是不正确的。请根据您的描述查看我的以下步骤:

工作流程:

enter image description here

在ForEach活动中,只有一个Azure Function活动:

enter image description here

LookUp活动的预览数据:

enter image description here

然后配置ForEach活动:@activity('Lookup1').output.value

enter image description here

Azure功能活动的配置:@json(concat('{"name":"',item().name,'"}'))

enter image description here

从azure函数中,我仅输出输入数据。输出示例如下:

enter image description here

提示: :我看到您的步骤是在另一个管道中执行azure函数并使用Execute Pipeline Activity(我不知道为什么您必须遵循这样的步骤) ,但我认为这没关系,因为您只需要关注Body格式,如果可接受的格式为JSON,则可以使用@json(....),如果可接受的格式为{ {1}},您可以使用String。此外,您可以从ADF用户界面门户使用@cancat(....)

查看示例

enter image description here

本文链接:https://www.f2er.com/3079817.html

大家都在问