在NiFi中如何将二进制文件发送到HTTP Rest?

时间:2019-01-11 04:11:41

标签: apache-nifi

我有以下业务需求。有人可以建议我应该创建NiFi WorkFlow吗?谢谢 1)通过Kakfa,我将元数据作为JSON对象获取。此JSON对象具有二进制格式的图像或视频。这个二进制文件非常大。 2)我需要提取二进制数据并将其发送到HTTP Rest(POST)。

在我看来,我有以下工作流程: ConsumeKakfa ==> EvaluateJsonPath ==> UpdateAttributes =>调用HTTP

说明: 1)ConsumeKakfa将接收元数据作为json对象。 2)EvaluateJsonPath将提取内容json属性,该属性具有以base64存储的图像或视频数据。 3)UpdateAttribute将更新流文件以插入POST负载。 4)InvokeHTTP将调用POST HTTP Rest调用。

我不确定InvokeHTTP是否会处理大量数据。

1 个答案:

答案 0 :(得分:3)

您的流程应如下所示:

  • ConsumeKafka
  • EvaluateJsonPath (destination=content)将评估的base64二进制文件存储到流文件内容中
  • Base64EncodeContent (decode)将base64内容解码为二进制文件
  • InvokeHTTP以正文形式发送内容中的所有内容