JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2724
  • Score
    100M100P100Q126406F
  • License Apache

Package Exports

  • @serverless/aws-lambda-layer

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@serverless/aws-lambda-layer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

aws-lambda-layer

Easily provision Layers for AWS Lambda using Serverless Components.

 

  1. Install
  2. Create
  3. Configure
  4. Deploy

 

1. Install

$ npm install -g @serverless/components

2. Create

$ mkdir my-layer && cd my-layer

in the case of a nodejs layer, the directory should look something like this:

|- code
  |- index.js     # the root of your library
  |- package.json # the main property should point to index.js in this example
|- serverless.yml
|- .env           # your development AWS api keys
|- .env.prod      # your production AWS api keys

the .env files are not required if you have the aws keys set globally and you want to use a single stage, but they should look like this.

AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX

3. Configure

# serverless.yml

name: my-layer
stage: dev

myLayer:
  component: "@serverless/aws-lambda-layer"
  inputs:
    name: my-layer
    description: My Serverless Layer
    code: ./code
    regoin: us-east-1
    runtimes: [ 'nodejs8.10' ] # the default is undefined (aka. all runtimes supported)

    # a path prefix to all the files that would be included in the package
    # this example would package a valid node dependency
    # since this is the path expected by aws
    prefix: nodejs/node_modules

    # if you'd like to include any files outside the codebase
    include:
      - ../external/file.js 

    # specifying an existing deployment bucket would optimise deployment speed
    # by using accelerated multipart uploads
    bucket: my-deployment-bucket

4. Deploy

layer (master)$ components

  myLayer › outputs:
  name:  'my-layer'
  description:  'My Serverless Layer'
  arn:  'arn:aws:lambda:us-east-1:552760238299:layer:my-layer:1'


  29s › dev › my-layer › done

layer (master)$

For a real world example of how this component could be used, take a look at how the aws-lambda component is using it.

 

New to Components?

Checkout the Serverless Components repo for more information.