senorgeno / serverless-puppeteer-layers

Serverless Framework + AWS Lambda Layers + Puppeteer = ❤️

Home Page:https://rwilinski.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Serverless Puppeteer using AWS Lambda Layers

Recently AWS introduced Layers which enables sharing common code between functions and working with large dependencies (such as headless chrome) much easier.

This project example returns a screenshot of page requested via ?address= query parameter.

Demo

Usage

It is very important to tell NPM to skip installing chromium from puppeteer package. To do so, installing dependencies should be done using this command:

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install

Without this, your function size would be more than 200MB which is way too much.

After that, you can simply deploy your funciton.

serverless deploy

curl <DEPLOYED_ENDPOINT>?address=https://google.com

or apply this ARN to your function directly: arn:aws:lambda:us-east-1:085108115628:layer:chrome:6

About

Serverless Framework + AWS Lambda Layers + Puppeteer = ❤️

https://rwilinski.me


Languages

Language:JavaScript 100.0%