有没有办法在不使用其他存储选项的情况下扩展 IoT 中心设备孪生?

Is there a way to extend the IoT Hub Device Twin without using another storage options?

最近我一直在苦苦思索如何减少我的Function App的依赖。我想减少对数据库的一些依赖(以及它的授权)。

所以我想到将 Function App 需要的一些数据放在 Device Twin 中,因为遥测消息将通过 IoT Hub 然后到达 Function App,通过将它们放在 Device Twin 中,我可以使用 Message Enrichment 来标记它们进入遥测消息的属性。

每台设备所需的数据可大可小。但是最近我发现设备孪生的属性大小限制为 32KB,标签大小限制为 8KB。对于某些设备,它可能会超过限制。

除此之外,我还找到了一种使用 blob 存储扩展设备孪生的方法。但这不是重复存储吗? (无论是在 blob 存储还是 redis 缓存中)。

我想问问社区是否有其他方法让我的功能应用程序拥有这些数据(无需连接到数据库)并且没有重复的存储选项。

谢谢。

这实际上是两个问题: 1.如何扩展Device Twin 2. 如何在不查找设备孪生的情况下提供我的函数数据

如果我没看错你的问题,那么你正在寻找第二个问题的解决方案。有解决办法:

您可以使用流分析向 IoT Hub 和 Function App 之间的消息添加数据。 Stream Analytics 有一个 reference data option ,您可以使用它在将消息作为输出发送之前加入消息。这意味着您的函数不必去数据库获取数据,也不必复制存储。您的流分析作业将有一个 IoT 中心作为输入,您的函数作为输出。查询将数据库中的参考数据连接到传入的消息并将其用作输出。