JSPM

serverless-offline-direct-lambda

0.0.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 2795
    • Score
      100M100P100Q133298F
    • License ISC

    A Serverless Offline plugin that exposes lambdas with no API Gateway event via HTTP, to allow offline direct lambda-to-lambda interactions.

    Package Exports

    • serverless-offline-direct-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-offline-direct-lambda) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    serverless-offline-direct-lambda

    A Serverless Offline plugin that exposes lambdas with no API Gateway event via HTTP, to allow offline direct lambda-to-lambda interactions.

    Note - this requires the plugin 'serverless-offline'.

    To include in your project, add the following to the plugins section in serverless.yml:

    - serverless-offline-direct-lambda

    To run:

    servlerless offline start

    (calling the command 'start' is necessary to trigger the plugin, simply running 'serverless online' does not trigger the start hooks).

    The plugin will create api-gateway proxies for all lambdas with no triggering events.

    You will see output like this:

    $ sls offline start
    Serverless: Running Serverless Offline with direct lambda support
    Serverless: Starting Offline: dev/us-east-1.
    
    Serverless: Routes for myLambda:
    Serverless: (none)
    
    Serverless: Routes for my-project-dev-myLambda_proxy:
    Serverless: POST /proxy/my-project-dev-myLambda

    The body of the POST should match the JSON data that would ordinarily be passed in a lambda-to-lambda call. i.e.

    {
      "Payload":...
    }

    On the client side, abstract the decision to use a direct AWS.lambda.invoke() call or an http call to the proxy using: https://github.com/civicteam/lambda-wrapper