c# - 在一个 C# Azure 函数 session 中处理来自 IoT 中心的多条消息

标签 c# azure azure-functions iot azure-iot-hub

我需要处理来自 IoT 设备的消息,到目前为止,我的工作流程一直很好(IoT 设备将消息发送到 IoT 中心,IoT 中心触发 Azure Function 处理消息并将信息保存到 Azure SQL)。但现在我有一个设备,它可以连续发送两个单独的消息中的全部信息(由于信息的长度)。 有没有关于如何同时处理这两个单独的消息的解决方案? (每种消息类型都有一个唯一的 ID,因此我可以知道哪条消息是信息的第一部分,哪条消息是第二部分)

最佳答案

是否可以选择将其作为文件上传到分配给 IoT 中心的 Blob 存储,并使用 DeviceClient 方法 UploadBlobAsync?这样你就可以拥有azure功能attached当新文件出现在 Blob 存储容器中时。这可能是一种方式。

如果您不喜欢文件上传解决方案,则必须考虑到Azure函数是无状态的,如果您需要合并两条消息以在云端获取一条信息,则需要将状态保存在某处并检查从那里开始。

此外,在决定 AF 是否适合这种特定情况下的流处理服务之前,还需要考虑可靠性。例如:是否可能出现第一条消息到达,但在第二条消息到达 IoT 中心之前连接中断的情况。您能确定消息总是按顺序发送吗?

关于c# - 在一个 C# Azure 函数 session 中处理来自 IoT 中心的多条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55806575/

相关文章:

azure - 如何使用 Terraform 在 Azure API 管理中导入 Azure Function App?

Azure Functions,nuget 包安装失败

c# - 将文件保存到 Azure Functions 中的临时位置

c# - 运行单元测试时如何获得正确的字符串本地化?

c# - 使用 C# 进行 Hadoop 流式处理

c# - 无法将类型 'System.Drawing.Image' 转换为 'System.Drawing.Icon'

c# - 在 C# 中不使用 ODBC.DataReader 将数据传递给另一个类

java - 是否可以通过代理使用 Spring Cloud Azure Stream Binder?

azure - "Initializing - Busy - Stopping"Azure 部署中的循环问题

sql-server - 虚拟机中的 Azure SQL 数据库或 SQL Server?