/aws-lambda

Deploy AWS Lambda functions in seconds with Serverless Components.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

aws-lambda

Deploy Lambda functions to AWS in seconds with Serverless Components. Utilizes layers for dependency management and S3 accelerated uploads for maximum upload speeds.

 

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

 

1. Install

$ npm install -g serverless

2. Create

$ mkdir my-function && cd my-function

the directory should look something like this:

|- code
  |- handler.js
  |- package.json # optional
|- serverless.yml
|- .env           # your AWS api keys
# .env
AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX
// handler.js
module.exports.hello = async (event, context, cb) => {
  return { hello: 'world' }
}

3. Configure

# serverless.yml

myFunction:
  component: "@serverless/aws-lambda"
  inputs:
    name: my-function
    description: My Serverless Function
    memory: 128
    timeout: 20
    code: ./code
    handler: handler.hello
    runtime: nodejs8.10
    env:
      TABLE_NAME: my-table
    region: us-east-1

    # if you'd like to include any shims
    shims:
      - ../shims/shim.js 

    # specifying an existing deployment bucket would optimise deployment speed
    # by using accelerated multipart uploads and dependency management with layers
    bucket: my-deployment-bucket

4. Deploy

$ serverless

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

 

New to Components?

Checkout the Serverless Components repo for more information.