Search code examples
aws-lambdaserverless-framework

aws lambda funkction with 2 layers - serverless framework yaml file


I have in yaml file lambda function with two layers:

test1:
timeout: 120
memorySize: 650
events:
  - http:
      path: ....
      method: get
      async: true
      private: ....
handler: api/test/handler.handler
layers:
  - { Ref: XXXXXLambdaLayer }
  - { Ref: YYYYYLambdaLayer }      
package:
  include:
    - "./api/test/**"
  exclude:
    - "**"

is this correct way to use two or more layers in one function?

I am getting error: Error: The CloudFormation template is invalid: Template format error: Unresolved resource dependencies [YYYYYLambdaLayer] in the Resources block of the template


Solution

  • my serverless yml file look like this and working

    service: app
    
    provider:
        name: aws
        region: us-west-1
        layers:
            - {Ref: VendorLambdaLayer}
            - {Ref: AppLambdaLayer}
    
    layers:
        vendor:
            path: ${file(vars.js):projectDir}vendor
        app:
            path: ${file(vars.js):projectDir}app
    

    Please make sure you have defined YYYYLambdaLayer, it exists or we will share the relevant part of your yaml file.