我使用 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/