2017-04-26 91 views
3

我正在尝试创建Cloud Formation Stack。堆栈已正确部署。已经创建了Lambda函数,但代码没有被添加为函数内联。无法使用CloudFormation将代码添加到AWS 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 

回答

4

处理程序的第一部分应始终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

+0

它的工作! :) 谢谢 – Neeraj

相关问题