JSPM

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

Package Exports

  • @serverless/aws-lambda

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) 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

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/components

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 development AWS api keys
|- .env.prod # your production AWS api keys
// handler.js
module.exports.hello = async (event, context, cb) => {
  return { hello: 'world' }
}

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-function
stage: dev

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

aws-lambda (master)$ components

  AwsLambda › outputs:
  name:  'my-function'
  description:  'My Serverless Function'
  memory:  128
  timeout:  20
  code:  './code'
  bucket:  undefined
  shims:  []
  handler:  'handler.hello'
  runtime:  'nodejs8.10'
  env: 
    TABLE_NAME: my-table
  role: 
    name:  'serverless'
    arn:  'arn:aws:iam::552760238299:role/serverless'
    service:  'lambda.amazonaws.com'
    policy:  { arn: 'arn:aws:iam::aws:policy/AdministratorAccess' }
  arn:  'arn:aws:lambda:us-east-1:552760238299:function:serverless'


  22s › dev › my-function › done

aws-lambda (master)$

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.