正在尝试使用cloudformation创建lamda函数。创建堆栈时出现如下错误。我在下面粘贴了我的模板。请帮我哪里做错了。
** 20:01:50 UTC + 0550 ROLLBACK_IN_PROGRESS AWS :: CloudFormation :: Stack MyStack The 以下资源创建失败:[Lamdafuntion]。 。回滚 用户要求。
20:01:50 UTC + 0550 CREATE_FAILED AWS :: Lambda :: Function Lamdafuntion属性 处理程序不能为空。**
模板:
"Type": "AWS::Lambda::Function",
"Properties": {
"Description" : "Lambda Function",
"Code" : {
"S3Bucket" : "awstier1bucket"
"S3Key" : "code.py.zip"
},
"FunctionName" : lambda_function
"Handler" : "test.lambda_handler",
"Tags": [
{
"Key": "Name",
"Value": "LambdaTest"
}
]
答案 0 :(得分:1)
我认为这是由于函数和处理程序名称不匹配造成的。 通常,它必须通过组合file_name.function_name
来构造我尝试了以下方法,并且有效:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "yeye",
"Resources": {
"my-resource-1": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Description": "Lambda Function",
"Role": "arn:aws:iam::account_number:role/lambda_basic_execution",
"Runtime": "python2.7",
"Code": {
"S3Bucket": "my_bucket",
"S3Key": "**lambda_script**.py.zip"
},
"FunctionName": "my_function",
"Handler": "**lambda_script.function_name**"
}
}
}
}
在上面的示例中,我正在上传名为 lambda_script.py 的文件,该文件包含定义了以下功能的代码:
def function_name(event, context):
"""
code
more code
"""
哪个处理器名称为 lambda_script.function_name