【发布时间】:2022-04-02 10:21:11
【问题描述】:
我有一个 Lambda 函数,几个月来一直没有问题。从几天前开始,现在发布到 MQTT 客户端总是超时。这是发布代码:
client = boto3.client('iot-data', region_name='us-east-1')
client.publish(topic= 'sdk/test/Python',qos=1,payload=mypayload)
来自日志文件:
2020-12-18T13:57:35.652Z 6660d942-766d-419e-88d2-c09c11dd33cc 任务在 3.00 秒后超时
客户端在树莓派上运行。我可以从 Iot 测试控制台发布到主题,并且在订阅该主题的 rpi 上运行的客户端接收测试消息。
如果我使用物联网测试控制台订阅主题,则不会收到消息
发布的 lambda 函数有一个内联策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Publish"
],
"Resource": [
"*"
]
}
]
}
如何修复或调试此问题? 3 秒的超时时间应该足够长了,所以我没试过让它变长。
【问题讨论】:
-
昨天下午一切又开始工作了——我什么也没做。令人沮丧的是,将问题隔离到 boto3 发布需要几个小时。由于我没有做任何事情来修复它,我不知道如何防止它再次发生。所以,我暂时不回答这个问题。
-
似乎服务器端出了问题,但我不明白为什么其他人没有报告类似的问题。也许有比使用 boto3 iod-data 客户端发布更常见的方式在 lambda 服务器和 IoT 之间进行通信?
-
自 12 月 19 日以来一直运行没有问题,但今天又停止了。我猜它会重新开始工作。如果有人知道如何调试,我将不胜感激!
-
今天早上又开始工作了。
-
今天又停了。发布只是在 Lambda 上运行的代码超时。如何解决?