我尝试在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"}]
}
]
}
有任何想法吗?
1 回答
您可以使用
GenerateFlowFile
和ReplaceText
处理器提供模板作为流文件内容,然后填充实际值 . 一旦该JSON对象形成为流文件内容,就应该很容易通过POST
使用InvokeHTTP
发送它