簡體   English   中英

Azure eventhub 到 NoSQL 數據庫

[英]Azure eventhub to NoSQL database

我目前正在使用 azure eventhub 發送/接收數據。 我想將我的 IoT 設備連接到 Azure 的 NoSQL 數據庫,這種方式將從 IoT 數據生成的 JSON 消息存儲在 NoSQL 數據庫(可能是 cosmosDB)中。

我試圖使用函數應用程序(經典)來處理數據流,但它似乎不起作用。

所以,管道可能需要是這樣的:

IoT -> 事件中心 -> CosmosDB(MongoDB?) -> Azure databricks

我需要建立前三個步驟,我更喜歡使用python語言。 你們能推薦任何工具嗎?

一個簡短的示例代碼將不勝感激。

如果您希望繼續使用 Python,不確定事件中心是否是正確的選擇。 幾個可能的解決方案是物聯網設備->物聯網中心->服務總線->應用程序功能->Cosmos DB->Azure Databricks。 這里的函數可以用 Python 編寫,這可能不是最有效的解決方案,因為它會改變有多少消息被發送到 服務總線,然后可以改變函數的定價層。

另一個可能更理想的設置是 IoT Device->IoT Hub->Stream Analytics->CosmosDb->Azure Databricks。 此模式不會使用 Python,但可以使用 JavaScript 或Steam 分析查詢來輕松轉換數據。

現在 CosmosDb->Databricks 可能是它自己的挑戰,取決於如何建立連接,即到 CosmosDb 的連接字符串。 該信息最有可能存儲在Azure Key Vault 中,Databricks 和 Key Vault 之間的集成仍處於公共預覽階段。

Cosmos DB 團隊為此場景創建了一個參考應用程序,它應該對您有用。 該解決方案具有一個由寫入 Cosmos DB 的 Azure 函數讀取的 IOT 中心。 您可以在此處查看架構圖並獲取此應用程序的源代碼, https://github.com/AzureCosmosDB/scenario-based-labs/blob/master/IoT/Demo%20step-by%20step%20-%20Cosmos %20DB%20scenario-based%20labs%20-%20IoT.md#solution-architecture

此應用程序是用 C# 編寫的,並使用 Cosmos Core (SQL) API。 如果需要,您可以使用 Python SDK( https://github.com/Azure/azure-cosmos-python/ )但不確定為什么要使用 MongoDB API。 如果這是一個新應用程序,那么使用 Core API 會更容易。

希望這是有幫助的。

暫無
暫無

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

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