我需要從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時,我只會遇到這個錯誤。
請指點我正確的方向。提前致謝。