regex Apache NiFi中的JSON字段匹配

ergxz8rk  于 2023-03-31  发布在  Apache
关注(0)|答案(2)|浏览(139)

我有一个json作为来自InvokeHTTP的响应,如下所示:

{
   "id": "1234567890",
   "status": "completed",
   "others": "abc",
   "field": "1"
}

我想使用一个处理器(可能是RouteOnAttribute??)来检查响应的状态是否完成,如果不匹配,它会返回invokeHttp再次检查状态。
我试过这个东西:EvaluateJsonPath(从json中提取id)-〉InvokeHTTP(获取状态)-〉RouteOnAttribute(完成后检查状态)

    • 〉匹配进入漏斗
    • 〉unmatch再次进入EvaluateJsonPath(创建循环)
      InvokeHTTP需要原始json文件,因为需要获取请求id。

我使用了具有以下属性的Route to属性名称:status - ${status:equals('completed ')}
不幸的是,我总是收到一个un-match,即使状态已完成。
问题出在哪里?

yqkkidmi

yqkkidmi1#

我已经建立了虚拟流,检查你的情况下,看到没有问题.这里是流程:x1c 0d1x这里的关键点:
1.在顶部EvaluateJsonPath中,我使用flowfile-attribute作为目标,并添加新属性- status

1.在RouteOnAttribute i中检查状态

的值
1.在底部EvaluateJsonPath中,i提取id,并使用flowfile-content

作为目的地

gcmastyq

gcmastyq2#

在EvaluateJsonPath中,您需要设置
属性值
状态状态

相关问题