2

我使用 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 请求进行调用,但是对于流式传输,这不是正确的方式,你们能否分享对我的代码的任何建议或对架构工作流程的任何更改。

提前致谢。

4

1 回答 1

2

正如一些评论中提到的,这里的挑战是我认为你想要一个持久的“网络套接字”到证券交易所,不断地将数据推送到事件中心。功能按其性质或更短命。所以这里的代码可以工作,但是有点“醒来,工作,睡觉,重复”的模式。

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

于 2019-09-12T15:56:24.833 回答