[英]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 StreamAnalytics
或Azure 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.