【发布时间】:2018-04-26 23:45:35
【问题描述】:
我会先说我是 AWS 的新手,但需要使用它来为课堂设置 MQTT 代理。问题可能源于我只是不熟悉应该如何使用它,但是每当我使用 lambda 函数更新我的东西“TestMichael”的影子时,如果温度超出范围,规则应该发送一条短信通知但它没有.当我在测试下发布它时,通知有效,但当 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 查询:
SELECT * FROM '$aws/things/TestMichael/shadow/update' WHERE Temperature > 70
【问题讨论】:
标签: python amazon-web-services aws-lambda mqtt iot