node.js - 如何使用 azure 函数处理流数据?

标签 node.js api azure-functions azure-eventhub azure-signalr

我使用 Azure 服务创建了一个实时解决方案。 它基于以下架构工作。 NSE(国家证券交易所)-> AzureFunction -> EventHub -> Azure 流分析 -> Power BI。 在Azure Function中,我编写了以下代码。

module.exports = async function (context, myTimer) {
    var API = require('indian-stock-exchange')
    var NSEAPI = API.NSE;
    let promise = new Promise((resolve,reject)=>{
        NSEAPI.getGainers()
        .then(function (response) { 
            context.log(response['data']); //return the api data
            resolve(response['data'])
    });
    });
    let result = await promise;
    result = JSON.stringify(result['data'])
    return result 
};

我在这里使用该库,通过 HTTP 请求进行调用,但对于流式传输,这不是正确的方法,你们可以分享对我的代码的任何建议或对架构工作流程的任何更改吗?

提前致谢。

最佳答案

正如一些评论中提到的,这里的挑战是我认为您需要一个持久的“网络套接字”来连接证券交易所,不断将数据推送到事件中心。功能本质上还是比较短暂的。所以这里的代码可以工作,但是有点“醒来,工作, sleep ,重复”模式。

对于持久连接,您可能会更好地考虑使用 Azure WebJobs 之类的东西,或者只是在 Azure 应用服务内运行一个 Web 应用程序,该应用程序将 24/7 运行,并且可以创建从股票数据到事件中心的持久源。

关于node.js - 如何使用 azure 函数处理流数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57821658/

相关文章:

node.js - @types 有什么特殊含义吗?

mysql - 我的 api 响应在前端未定义

arrays - 如何在 for 循环内更新 MongoDb 文档

php - Facebook API 访问 token

c++ - 如何使用 Visual C++ Win32 API 了解 Internet 连接详细信息

使用无服务器创建的 Azure 队列触发器函数不会触发

node.js - 我无法使用 npm start 在 Windows 上启动 Express 服务器

api - 聊天 API 自动添加和删除成员

linux - 我的 azure functionapp 可以在 Linux 上运行吗?

java - Intellij 社区版中的 Azure 函数应用程序无法验证函数运行时 : Cannot run program "java": error=2, 没有这样的文件或目录