我已经开始使用Apache Nifi了,我还在学习它并尝试使用它。我真的想用Nifi从API获取JSON文档并将它们放在我的Elasticsearch数据库中。到目前为止,使用内置的getTwitter和putElasticsearch控制器可以正常工作。
但是现在我想用Twitter以外的其他API来做这件事,我有点卡在这里。首先,我真的不知道使用哪个控制器?我认为getHttp或invokeHttp即使用'GET'作为http动词,但它似乎不起作用。如果我使用getHttp,我必须使用密钥库和信任库来提供SSL服务..就像我为什么要这样做?
Apache Nifi仍然很新,很难找到关于这些事情的体面指南/信息。我已经阅读并搜索了文档,但没有更明智。
从API中获取的示例JSON是:
https://api.ssllabs.com/api/v2/getEndpointData?host=www.bnpparibasfortis.be&s=193.58.4.82
提前感谢能够提供帮助/见解的任何人。
答案 0 :(得分:3)
用于获取JSON数据的处理器完全取决于您要访问的API。 GetHttp或InvokeHttp处理器应该可以从URL中获取数据。如果您注意到,SSL服务是GetHttp和InvokeHttp的可选属性,因此您只需要在通过HTTPS进行通信时使用它。此外,您可以在UI中右键单击处理器,然后单击“使用情况”以显示该处理器的文档。
在此链接[1]中,您可以找到一个NiFi模板,该模板使用GetHttp从randomuser.me获取JSON数据并对其进行各种处理。它主要是展示不同Avro处理器的模板,但抓取JSON的方法应该是相关的。