Lambda API endpoint handler to resize S3 images
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore gitignore fixes Jan 25, 2019
LICENSE Initial commit Oct 19, 2017
README.md README.md fixes Oct 25, 2017
package.json

README.md

Images resizing with AWS Lambda

npm npm David

Install

yarn add lambda-images-resizer

Example of index.js file of lambda function

const HttpError = require('lambda-images-resizer').HttpError
const createProcessor = new require('lambda-images-resizer')
const processor = createProcessor({
  region: process.env.REGION,
  bucket: process.env.BUCKET,
  cachePrefix: process.env.CACHE_PREFIX,
  signatureVerification: process.env.SIGNATURE_VERIFICATION === '1',
  signatureSecret: process.env.SIGNATURE_SECRET,
  cdnUrl: process.env.CDN_URL,
  maxWidth: parseInt(process.env.MAX_WIDTH, 10) || 1920,
  maxHeight: parseInt(process.env.MAX_HEIGHT, 10) || 1080,
  logging: process.env.LOGGING === '1'
})

const handler = function(event, context) {
  processor(event)
    .then((response) => {
      context.succeed(response)
    })
    .catch((err) => {
      if (err instanceof HttpError) {
        return context.succeed({
          statusCode: err.statusCode,
          body: err.message
        })
      }
      return context.fail(err)
    })
}

exports.handler = handler

To-do list:

  • Resizing constraints
  • Signatures checking