【问题标题】:Property Handler cannot be empty - The following resource(s) failed to create属性处理程序不能为空 - 未能创建以下资源
【发布时间】:2019-02-15 00:48:39
【问题描述】:

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

【问题讨论】:

  • 从您的错误消息看来,还有另一个函数定义缺少 Handler 属性

标签: amazon-cloudformation


【解决方案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

【讨论】:

    猜你喜欢
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多