【发布时间】:2020-12-23 12:11:11
【问题描述】:
所以,我对 python 还很陌生,遇到了一个我真的无法解决的问题。
我有一个用 python 编程的虚拟设备,它连接到 Azure IoT 中心。有些人可能知道,连接到 IoT 中心的设备有一个设备孪生,它定义了设备的属性。 (这是一个基本的 JSON 对象)
这样做的想法是,后端可以更改设备孪生,这可能会影响设备上的操作模式。
到目前为止,我只想实现以下,这是非常基本的:
- 我的虚拟设备监听设备孪生更改(不锁定我的代码)
- 我在 Azure 中更改了设备孪生属性
- 事件触发并打印出新的设备孪生属性(最终,这应该调用其他代码来更改操作模式)
到目前为止,我有以下内容:
async def main():
async def printdesiredproperties():
while True:
test = await my_client.receive_twin_desired_properties_patch() #This returns a JSON dict
print(test)
task = asyncio.create_task(printdevicetwin()) #not correct way to attach event
await task
#Do other stuff
根据我在其他编程语言方面的经验,我们习惯于分别使用 += 和 -= 附加和分离事件处理程序。
在python中似乎有很多方法可以实现这一点,但是我真的没有成功。
my_client.receive_twin_desired_properties_patch()是引发事件的原因,因为它在 Azure 中进行更改时返回 JSON 字典
【问题讨论】:
-
怎么样?你的问题解决了吗?
标签: python azure event-handling