gpt4 book ai didi

javascript - 如何在 NiFi 中调用远程 REST 服务

转载 作者:搜寻专家 更新时间:2023-11-01 04:22:29 27 4
gpt4 key购买 nike

是否可以在NIFI处理器中使用xmlHttpRequest来调用远程rest服务?在我的例子中,ExecuteScript 处理器(使用 Javascript)无法评估 XMLHttpRequest;是否有任何类似的解决方案可用于获取响应数据?

var OutputStreamCallback = Java.type("org.apache.nifi.processor.io.OutputStreamCallback");
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");

Date.prototype.isValid = function () {
return (Object.prototype.toString.call(this) === "[object Date]")
&& !isNaN(this.getTime());
};

var flowFile = session.get();

if (flowFile != null) {
var fromDate = flowFile.getAttribute('fromDate')
var uid = flowFile.getAttribute('uid')

var xmlhttp = null;
var result = null;

xmlhttp = new XMLHttpRequest();
if (typeof xmlhttp.overrideMimeType != 'undefined') {
xmlhttp.overrideMimeType('application/json');

} else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open('GET', "similar url here WorkInfo?dateFrom=?&uid=?", true);
xmlhttp.send(dateFrom, uid);
if (xmlhttp.status == 200) {
result = 'WorkInfoDate'
}
flowFile = session.putAttribute(flowFile, 'filename', fromDate + '_' + result);

flowFile = session.write(flowFile,
new OutputStreamCallback(function (outputStream) {
outputStream.write(command.getBytes(StandardCharsets.UTF_8))
}));

session.transfer(flowFile, REL_SUCCESS)
}

最佳答案

有一个 InvokeHttp 处理器可以用来调用 REST 服务而无需编写任何代码:

https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.3.0/org.apache.nifi.processors.standard.InvokeHTTP/index.html

服务的响应将写入流文件的内容。

关于javascript - 如何在 NiFi 中调用远程 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45568861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com