配置AWS IoT Button触发Lambda函数时遇InvalidRequestException错误求助
我完全懂你跟着教程、视频操作却卡在这里的挫败感——AWS控制台的UI迭代太快,旧教程的流程早就不适用了,咱们一步步来搞定这个问题:
问题根源
现在的Lambda触发器配置逻辑和老版本不一样了:当你尝试添加IoT Button触发器时,AWS要求必须先在IoT控制台为你的按钮配置好对应的「动作(Action)」,直接在Lambda里填序列号已经不足以完成联动。报错里的"Empty list of actions"就是在明确提示你这一点。
具体解决步骤
- 打开AWS IoT控制台,找到你已经配置好的IoT Button对应的Thing(既然你说按钮能正常工作,这个Thing肯定已经存在)
- 创建IoT规则:
- 左侧菜单选「Act」→「Rules」,点击「Create a rule」
- 规则名称随便填(比如
IoTButton_Trigger_Lambda),描述可选 - SQL语句填:
SELECT * FROM 'iotbutton/[你的按钮序列号]'——把[你的按钮序列号]替换成你实际的按钮SN,这个主题是IoT Button默认发送消息的主题 - 点击「Add action」,选择「Invoke Lambda function」
- 下拉菜单里选中你刚创建的Lambda函数,点击「Add action」,最后点「Create rule」完成配置
- 回到Lambda控制台添加触发器:
- 回到你的Lambda函数页面,点击「Add trigger」,选择「IoT Button」
- 输入按钮序列号,此时系统会自动关联你刚才创建的IoT规则(也可以手动选择对应规则)
- 确认勾选「Enable Trigger」,点击「Add」,这次就能成功添加触发器了
额外验证
添加完成后,按一下你的IoT Button,然后去Lambda的「Monitor」→「Logs」里查看CloudWatch日志,就能确认函数是否被正常触发了。
内容的提问来源于stack exchange,提问作者mdolphin
相关产品推荐
相关产品推荐

