【问题标题】:How to work with streaming data using azure functions?如何使用 azure 函数处理流数据?
【发布时间】:2019-09-06 12:01:50
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 您的问题到底是什么?上面的代码有什么问题需要更改?
  • 这是我使用 Azure 功能所做的,但对于流式传输,这不是最佳解决方案,我们可以使用任何替代方案或类似 azure SignalR 的东西吗?

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-02-21
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多