我正在尝试在python中创建一个侦听器,以在发生事件时自动从Watson-IoT中的设备检索事件。当事件发生时,我想调用特定的函数。
我已经阅读了文档和API规范,但找不到任何内容。
有没有办法做到这一点?
答案 0 :(得分:2)
请参阅Python客户端库:https://github.com/ibm-watson-iot/iot-python
该特定示例应该证明非常有帮助,您可以直接运行它,而无需进行修改,并看到响应事件和命令而调用的函数:https://github.com/ibm-watson-iot/iot-python/tree/master/samples/simpleApp
与样本最相关的部分是:
creation of the callback handler-收到事件后,将调用此函数,使您可以对该事件采取行动:
def myEventCallback(event):
print("%-33s%-30s%s" % (event.timestamp.isoformat(), event.device, event.event + ": " + json.dumps(event.data)))
客户端中的registration of the callback handler,它指示客户端为所有传入事件调用您的方法:
client.deviceEventCallback = myEventCallback
subscription to events,您可以确定订阅的范围以避免处理不必要的事件,或者使用默认值订阅来自所有设备的所有事件:
eventsMid = client.subscribeToDeviceEvents(deviceType, deviceId, event)