raphaelmun / serverless-s3-local

Serverless s3 local plugin.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

serverless-s3-local

serverless-s3-local is a Serverless plugin to run S3 clone in local.
This is aimed to accelerate development of AWS Lambda functions by local testing.
I think it is good to collaborate with serverless-offline.

Installation

npm install serverless-s3-local --save-dev

Example

serverless.yaml

service: serverless-s3-local-example
provider:
  name: aws
  runtime: nodejs4.3
plugins:
  - serverless-offline
  - serverless-s3-local
custom:
  s3:
    port: 8000
    buckets:
      - local-bucket
    directory: /tmp
functions:
  webhook:
    handler: handler.webhook
    events:
      - http:
          method: GET

handler.js

const AWS = require('aws-sdk');
module.exports.webhook = (event, context, callback) => {
  const S3 = new AWS.S3({
    s3ForcePathStyle: true,
    endpoint: new AWS.Endpoint('http://localhost:8000'),
  });
  S3.putObject({
    Bucket: 'local-bucket',
    Key: '1234',
    Body: new Buffer('abcd')
  }, () => {} );
};

Feature

  • Start local S3 server with specified root directory and port.
  • Create buckets at launching.

See also

License

This software is released under the MIT License, see LICENSE.txt.

About

Serverless s3 local plugin.

License:MIT License


Languages

Language:JavaScript 100.0%