我尝试在Apache NiFi中使用InvokeHttpProcessor来执行复杂JSON主体的POST请求。 因此,本教程:http://www.tomaszezula.com/2016/10/30/nifi-and-http-post-configuration
我知道如何使用 UpdateAttribute 处理器添加名称/值对,然后通过 AttributesToJSON 应用其他转换。
但是如何处理复杂的JSON? 例如,我必须向GoogleAnalytics报告API执行请求,因此我需要执行此请求:
POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
"reportRequests":
[
{
"viewId": "XXXX",
"dateRanges": [{"startDate": "2014-11-01", "endDate": "2014-11-30"}],
"metrics": [{"expression": "ga:users"}]
}
]
}
任何想法?
答案 0 :(得分:7)
您可以使用GenerateFlowFile
和ReplaceText
处理器提供模板作为流文件内容,然后填充实际值。一旦该JSON对象形成为流文件内容,就可以使用POST
InvokeHTTP
轻松发送它