属性处理程序不能为空-以下资源创建失败

时间:2018-09-10 14:40:30

标签: amazon-cloudformation

正在尝试使用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"
                    }
                ]

1 个答案:

答案 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