我们可以调用Nifi Java API来编写我们自己的方法吗?有没有像aws sdk java api工具那样的nifi sdk工具?

时间:2017-04-14 22:33:15

标签: java amazon-web-services apache-nifi

我可以执行以下nifi命令来检索系统诊断指标。无论如何,这些命令可以通过使用我们自己的方法调用nifi api来执行,就像我们在aws cloudwatch中调用指标一样。

read USER

read -s PASS

TOKEN=`curl -X POST --data "username=$USER&password=$PASS" -k https://nifiHostName.com:nifiPort/nifi-api/access/token`

curl -H "Authorization: Bearer $TOKEN" -k https://nifiHostName:nifiPort/nifi-api/system-diagnostics\ | python -m json.tool

如果无法实现上述目标,那么任何人都可以通过一个简单的Java代码来回答如何授权:Bearer $ TOKEN。

或者通过使用简单的https客户端可以通过java执行这些命令。如果是的话,请你帮我解决。

1 个答案:

答案 0 :(得分:2)

您可以通过任何Java HTTP交互调用Apache NiFi API。例如,您可以使用标准URL对象并对其执行getConnection()openConnection()操作(请参阅extensive answer describing this process)。调用openConnection()会返回URLConnection对象,您可以使用connection.setRequestProperty("Header name", value)设置标题。

您还可以使用jersey-clientApache HttpClientOkHTTP等库。

这些方法中的任何一种都允许您设置具有Authorization: Bearer值的HTTP标头。