我是 AWS 世界的新手,目前正在开发一种 Alexa 技能,该技能只需向 AWS IoT Core 代理发布一条 mqtt 消息,与之前创建的“事物”和主题进行交互。目前我正在使用 boto3,但我不确定这是正确的路径。这是代码,但在部署 Lambda 并从 Alexa 调用意图时它不起作用。
import boto3
import json
payload = json.dumps(
{'state':
{
'desired': { 'irrigation': 'on' }
}
})
client = boto3.client('iot-data', region_name='us-west-2')
response = client.publish(
topic='$aws/things/gateway/shadow/update',
qos=1,
payload=payload
)
CloudWatch 没有显示任何异常,如果订阅应该触发发布的同一主题,我只是从 Alexa 收到错误响应并且没有收到任何消息。
我正在使用“影子”,也许这不是正确的做法?尝试了正常的主题,但效果不佳。另外,我很想在发布之前调试代码。有没有不使用 CloudWatch 的简单方法来做到这一点?
TL;TR 只在网上找到了很多这样的指南:iot core -> aws lambda。但我实际上正在寻找相反的结果:aws lambda -> 发布到 iot core