基于DeviceWinTrigger的Azure Java函数:检索DeviceId

基于DeviceWinTrigger的Azure Java函数:检索DeviceId,java,azure,azure-functions,Java,Azure,Azure Functions,遵循本指南: 我正在开发一个Java函数,它必须在Azure中运行。在我的物联网集线器中,我定义了一个路由,它触发所有设备对事件集线器的双重更改。从那以后,我的函数被很容易地触发,我可以记录确实被更改的内容。到目前为止还不错,但是 如何提取设备id?现在,我只检索消息(设备twin中已更改的内容),但我不知道此内容更改属于哪个设备 有人知道吗?您遇到了一个问题,即当前事件中心绑定数据的实现缺少了一些属性,如您要查找的设备id 在我们的绑定中,我们通过只输出该类型的4个顶级属性来吸收这一变化,而没

遵循本指南:

我正在开发一个Java函数,它必须在Azure中运行。在我的物联网集线器中,我定义了一个路由,它触发所有设备对事件集线器的双重更改。从那以后,我的函数被很容易地触发,我可以记录确实被更改的内容。到目前为止还不错,但是

如何提取设备id?现在,我只检索消息(设备twin中已更改的内容),但我不知道此内容更改属于哪个设备

有人知道吗?

您遇到了一个问题,即当前事件中心绑定数据的实现缺少了一些属性,如您要查找的设备id

在我们的绑定中,我们通过只输出该类型的4个顶级属性来吸收这一变化,而没有意识到它来自字典。因此,我们填充绑定数据的代码是一个bug。我们不应该为这4个属性(过滤掉其他系统属性)添加自己的ToDictionary实现,而应该添加整个集合,它已经是一个字典了


下面是跟踪问题的修复方法。

到目前为止,它已经发布:-)


谢谢您提供的信息。你知道我们现在是否有一个变通方法可以使用吗?对不起,除了使用v1函数,我还没有找到任何变通方法。但是v1根本不支持java。谢谢你提供的信息,我很感激:)