簡體   English   中英

創建一個從AZURE讀取數據的nodejs Web應用程序。 (流分析或事件中心或日志分析)

[英]Create a nodejs web app that reads data from AZURE. (Stream analytics or Event Hubs or Log analytics)

我已將多個設備連接到Azure Stream Analytics ,這些設備將發送各種數據。 (溫度,光線,濕度等)

我不確定如何讀取數據Azure資源並將其顯示在我Azure上發布的Web應用程序中。 例如,讀取device_name,即設備的數據。

我需要的是一個示例代碼,該示例代碼從Azure讀取一些數據,然后將其顯示在簡單的“ h1”或“ p”標記上。

PS:我看過很多教程,教如何將Web應用發布到Azure。 但是幾乎沒有任何教程專門講授如何從Azure資源讀取和獲取數據。

您可以使用Azure SDK for Node.js來管理Azure資源。

這是檢索有關現有事件中心的信息的示例。 這是Azure Node SDK 參考

const msRestAzure = require('ms-rest-azure');
const EventHubManagement = require('azure-arm-eventhub');

const resourceGroupName = 'testRG';
const namespaceName = 'testNS';
const eventHubName = 'testEH';
const subscriptionId = 'your-subscription-id';

msRestAzure
  .interactiveLogin()
  .then(credentials => {
    const client = new EventHubManagement(credentials, subscriptionId);
    return client.eventHubs.get(resourceGroupName, namespaceName, eventHubName);
  })
  .then(zones => console.dir(zones, { depth: null, colors: true }))
  .catch(err => console.log(err));

我假設您正在使用一些快捷方式。 並且您正在將事件從設備發送到EventHub

所以現在的架構看起來像這樣:

Device -> EventHub > Azure StreamAnalytics

AppService調用了my web application

Azure StreamAnalytics只是幫助您進行一些聚合,計算等等。 另一方面,您可以使用例如Azure函數

我建議將數據存儲在存儲中,例如在Azure存儲中

這是建議的體系結構:

Device -> EventHub > Azure StreamAnalyticsAzure Function > Azure Table Storage

AppService <-> Azure Table Storage

然后在存儲中在Web應用程序中顯示數據。 這是來自docs的示例:

通過鍵檢索實體

tableSvc.retrieveEntity('mytable', 'hometasks', '1', function(error, result, response){
  if(!error){
    // result contains the entity
  }
});

可視化Azure流分析輸出的最簡單方法是使用Power BI(如果您可以訪問它)。 幾分鍾后,您可以創建儀表板並顯示值或圖形。 更多信息在這里 您的儀表板也可以使用“ Power BI Embedded”嵌入到自己的應用程序中。 如果要創建自己的應用程序以可視化輸出,則根據延遲要求,有幾種可能的方法。 例如,您可以輸出到Cosmos DB或SQL,然后使用它們的客戶端庫。 您還可以輸出到Azure Function並使用Signal R創建動態頁面。 讓我們知道您是否還有其他問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM