我需要从cloudformation创建aws Lambda(python)。 lambda函数已创建,但是当我尝试执行lambda时,我不断收到以下错误。我尝试了很多方法,但我无法完成工作。aws cloudformation lambda python坏的处理程序
{
"errorMessage": "Bad handler 'lambda_handler'"
}
这就是我如何从cloudformation创建lambda。
- 创建一个简单的python你好程序包含打印语句(尽可能简单)
代码:
def lambda_handler():
print('lambda_handler is called...');
print('Lambda is printing...');
邮编蟒并放置在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”: “坏的处理程序 'lambda_handler'”
如果我看CloudWatch的日志我看到
错误处理程序 'lambda_handler':需要超过1值解包。
我没有传递参数。这是Python中的“Hello World”lambda函数。如果我在Lambda服务中手动创建了这个lambda函数,那么我可以在没有任何错误的情况下执行它。当我使用Cloudformation创建lambda时,我只会遇到这个错误。
请指点我正确的方向。提前致谢。