我需要通过CloudFormation创建AWS Lambda(Python)函数,虽然函数已经被创建好了,但每次尝试执行Lambda时都会出现以下错误。我尝试了许多方法,但还是没能使它正常运行。
{
"errorMessage": "Bad handler 'lambda_handler'"
}
这是我如何通过CloudFormation创建Lambda的方法。
- 创建一个简单的Python hello程序,其中包含打印语句(尽可能简单)
代码:
def lambda_handler():
print('lambda_handler is called...');
print('Lambda is printing...');
将Python代码进行压缩并放置在S3中(我已经尝试过包含和不包含文件夹的方式)。
创建一个具有以下资源的CloudFormation模板。
JSON:
"Resources": {
"LF1ZOLJ": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Handler": "lambda_handler",
"Code": {
"S3Bucket": "mybuckname",
"S3Key": "simplepython.zip"
},
"Description": "cfn-create-lambda",
"Role": "arn:aws:iam::305760000000:role/lambda_basic_execution",
"Runtime": "python2.7",
"Timeout": 60
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
前往 Cloudformation 并使用模板创建一个堆栈。堆栈已成功创建。
使用“Hello World”事件模板测试 Lambda 时,出现了错误。
"errorMessage": "Bad handler 'lambda_handler'"
如果我查看 CloudWatch 日志,会看到:
Bad handler 'lambda_handler': need more than 1 value to unpack.
我没有传递参数。这是 Python 中的“Hello World”Lambda 函数。如果我在 Lambda 服务中手动创建此 Lambda 函数,则可以执行它而不会出现任何错误。仅当使用 Cloudformation 创建 Lambda 时才会出现此错误。
请指点正确的方向。先感谢您。
app
,因此对我来说它是app.lambda_handler
。 - alex