JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何在NiFi中调用远程REST服务大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

@H_944_6@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服务全部内容,希望文章能够帮你解决javascript – 如何在NiFi中调用远程REST服务所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。