为什么我会收到“错误处理程序 AWS Lambda - 没有足够的值来解压”错误?

use*_*702 17 python amazon-web-services python-3.x aws-lambda

我尝试执行 Lambda 函数,但收到以下错误:

{
  "errorMessage": "Bad handler 'AlertMetricSender': not enough values to unpack (expected 2, got 1)",
  "errorType": "Runtime.MalformedHandlerName",
  "stackTrace": []
}
Run Code Online (Sandbox Code Playgroud)

我的 Lambda 处理程序在以下位置指定AlertMetricSender.py

from modules.ZabbixSender import ZabbixSender
def lambda_handler(event, context):
    sender = ZabbixSender("10.10.10.10", 10051)
    sender.add("Zabbix server", "lambda.test", 5.65)
    sender.send()
Run Code Online (Sandbox Code Playgroud)

Erm*_*ary 28

这通常是由于为 Lambda 函数的“处理程序”设置指定了不正确的值所致。

它是对函数代码中处理事件的方法的引用,即入口点。

在此输入图像描述

处理程序参数的值由以下内容组成,用点分隔:

  • Lambda 处理程序函数所在的文件的名称
  • Python 处理函数的名称。

确保您没有错过文件名。

在这种情况下,看起来处理程序应该设置为AlertMetricSender.lambda_handler.