首页 > 解决方案 > AWS Lambda 在 prod 中部署时出现 400 错误

问题描述

我有一个 lambda 函数,可以根据 S3 事件向 slack 发送通知。我在沙箱中配置并测试了该功能并且它可以工作,但是当部署到生产环境时它给了我一个 400 错误。该函数没有附加 VPC,两种设置中的所有配置都相同。生产环境中错误的根源可能是什么?

源代码:

    slack_message = {
        'channel': SLACK_CHANNEL,
        'text': message_body,
        'username': 'aws-lambda-bot',
        'icon_emoji': ':checkered_flag:'
    }

    req = Request(HOOK_URL)

    try:
        response = urlopen(req, data=json.dumps(slack_message).encode())
        logger.info(response)
        response.read()
        logger.info("Message posted to %s", slack_message['channel'])

    except HTTPError as e:
        logger.error("Request failed: %d %s", e.code, e.reason)

    except URLError as e:
        logger.error("Server connection failed: %s", e.reason)

试验结果。

沙盒:

在此处输入图像描述 产品: AWS 日志产品

标签: pythonaws-lambdahttp-status-code-400

解决方案


推荐阅读