2017-04-14 73 views
0

我可以執行下面的nifi命令來檢索系統診斷指標。無論如何,這些命令可以通過使用我們自己的方法調用nifi api通過java代碼執行,就像我們在aws cloudwatch中執行度量指標一樣。我們可以調用Nifi Java API來編寫我們自己的方法嗎?有沒有像aws sdk java api這樣的nifi sdk工具?

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代碼,這將是巨大的承載$令牌。

或者通過使用簡單的https客戶端可以通過java執行這些命令。如果是的話,請你幫我解決這個問題。

回答

2

您可以通過任何Java HTTP交互調用Apache NiFi API。例如,您可以使用標準URL對象並對其執行getConnection()openConnection()操作(請參閱extensive answer describing this process)。撥打openConnection()會返回URLConnection對象,您可以在其中使用connection.setRequestProperty("Header name", value)設置標題。

您還可以使用庫如jersey-client,Apache HttpClientOkHTTP

以上任何一種方法都可以讓您設置一個HTTP標頭,其值爲Authorization: Bearer

相關問題