无法使用CloudFormation向AWS Lambda函数添加代码

时间:2017-04-26 12:46:16

标签: aws-lambda amazon-cloudformation

我正在尝试创建云层堆栈。堆栈已正确部署。已创建Lambda函数,但代码未作为内联函数添加到函数中。

它说

  

您的Lambda函数“lambda_function”无法内联编辑,因为处理程序中指定的文件名与部署包中的文件名不匹配。

云形成代码:

  LambdaFunction:
    Type: "AWS::Lambda::Function"
    Properties:
      Code:
        ZipFile: !Sub |
          import json

          def lambda_handler(event,context):
              #Creating delete request
              ...

      Description: Lambda function.
      FunctionName: lambda_function
      Handler: lambda_function.lambda_handler
      Role : !GetAtt LambdaExecutionRole.Arn
      Runtime: python2.7
      Timeout: 5

1 个答案:

答案 0 :(得分:14)

如果您指定内联代码,则处理程序的第一部分应始终为index

  

如果通过在Code属性中指定ZipFile属性将源代码指定为内联文本,请将index.function_name指定为处理程序。   http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html

所以只需使用它:

LambdaFunction:
    Type: "AWS::Lambda::Function"
    Properties:
      Code:
        ZipFile: !Sub |
          import json

          def lambda_handler(event,context):
              #Creating delete request
              ...

      Description: Lambda function.
      FunctionName: lambda_function
      Handler: index.lambda_handler
      Role : !GetAtt LambdaExecutionRole.Arn
      Runtime: python2.7
      Timeout: 5

请注意index.lambda_handler而不是lambda_function.lambda_handler