2017-04-26 88 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

相關問題