lambda - 从 AWS Lambda 发布到主题停止工作

标签 lambda boto3 mqtt iot

我有一个 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 秒的超时时间应该足够长了,所以我没有尝试过将其设置得更长。

最佳答案

我也遇到了这个问题,并且能够通过更改 Lambda 运行时以使用最新的 Python 版本 (3.8) 来解决它。

关于lambda - 从 AWS Lambda 发布到主题停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65358673/

相关文章:

python-3.x - 升级boto3后Moto似乎停止 mock

python - boto3 中 boto.exception.BotoServerError 的等价物是什么

Java 8 Optional 如何处理太多 orElses

c++ - 如何避免 lambda 函数中的隐式移动构造函数

java - 跳过try/catch block 以检查异常的Lambda

amazon-web-services - 如何跟踪异步 AWS Lambda 调用的进度/状态?

ssl - 如何在客户端没有证书的情况下为 mqtts 配置 Mosca?

iOS MQTT 客户端框架 : 'SocketRocket/SRWebSocket.h' file not found

android - 用于 Android 聊天应用程序的 MQTT/限制主题访问

C++ lambda/回调弹出窗口?