【问题标题】:Why do I get a "Bad handler AWS Lambda - not enough values to unpack" error?为什么我会收到“错误的处理程序 AWS Lambda - 没有足够的值来解包”错误?
【发布时间】:2021-12-15 05:15:35
【问题描述】:

我正在尝试执行 Lambda 函数,但出现以下错误:

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

我的 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()

【问题讨论】:

    标签: python python-3.x amazon-web-services aws-lambda


    【解决方案1】:

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

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

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

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

    确保您没有遗漏文件名。

    在这种情况下,处理程序似乎应该设置为AlertMetricSender.lambda_handler

    【讨论】:

    • 嗯,这就是问题所在。我把它命名为AlertMetricSender,但应该是AlertMetricSender.lambda_handler
    • 由于AlertMetricSender 可以有多种方法,因此需要对其进行更多深入研究是有道理的 - 很高兴它已排序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2021-10-03
    • 1970-01-01
    • 2017-12-29
    • 2017-10-10
    • 2021-11-27
    • 2021-12-17
    相关资源
    最近更新 更多