AWS lambda update\u thing\u影子问题

2024-09-30 22:12:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我将在开头说我是AWS新手,但需要使用它为类设置MQTT代理。问题的根源可能是我不熟悉它应该如何使用,但是每当我使用lambda函数更新我的东西“TestMichael”的阴影时,如果温度超出范围,规则应该发送一个sms通知,但是它没有。当我在测试下发布它时,通知起作用,但是当lambda函数改变它时,通知就失效了。有人知道为什么吗?在

TLDR:用lambda函数更新对象的阴影不会激活我创建的规则。为什么会这样?

下面是相关的lambda函数和规则查询:

def lambda_handler(event, context):
temp = 74 #text should be sent if > 70
client = boto3.client('iot-data', region_name='us-east-1')

#Code portion for changing the state
data = {"state" : { "reported" : { "Temperature" : temp , "Moisture" : moist, "Light" : light, "Conductivity" : conduct}}}
mypayload = json.dumps(data)
response = client.update_thing_shadow(
    thingName = 'TestMichael', 
    payload = mypayload
)

以下是我的规则中使用的SQL查询:

^{pr2}$

Tags: lambda函数clientaws代理data规则mqtt
1条回答
网友
1楼 · 发布于 2024-09-30 22:12:21

当发生这种情况时,我使用AWS IoT中的测试功能进行检查。您可以收听“$aws/things/TestMichael/shadow/update”主题,看看lambda更新shadow时是否发布了数据。在

相关问题 更多 >