首页 > 解决方案 > invokeHTTP 中“Put Response Body In Attribute”的属性名称

问题描述

我有一个端点会返回如下响应。

{
   "result": [
   {},
   ....
   {}]
}

我正在尝试使用 invokeHTTP 并启用“将响应主体放入属性”以保留原始流文件和来自 api 的响应。

https://i.imgur.com/HMpnBYx.png

但似乎添加了一个名为 $.result 的属性,如下所示

在此处输入图像描述

有没有办法为结果属性设置正确的名称?谢谢。

标签: apache-nifi

解决方案


您尝试使用 JSON 路径提取结果。然而,这在 InvokeHttp 中是不可能的。您可能想要使用EvaluateJsonPath处理器。

将响应正文放入属性的文档

如果设置,则收到的响应正文将被放入原始 FlowFile 的属性中,而不是单独的 FlowFile。要放置的属性键是通过评估此属性的值来确定的。

要在调用 InvokeHttp 后保留原始流文件,可以在调用 InvokeHttp 之前将其移动到一个属性(如果内容足够小),或者您可以将 MergeContent 与来自 InvokeHttp 的原始流文件和响应流文件一起使用。


推荐阅读