api-screenshot icon indicating copy to clipboard operation
api-screenshot copied to clipboard

Chromium 50MB AWS Lambda Node 12 Mega Issue

Open zachleat opened this issue 1 year ago • 4 comments

Spawned from #13. Related to #15.

Ideally we could upgrade the node runtime https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html but newer versions of puppeteer blow past the 50MB AWS Lambda limit. I haven’t tested all versions of Puppeteer to see if there are some that work in Node 14 but don’t hit the 50MB limit yet.

Right now the workaround/requirement is to put an environment variable in your Netlify app UI setting AWS_LAMBDA_JS_RUNTIME to nodejs12.x. This cannot be set via netlify.toml (https://answers.netlify.com/t/netlify-functions-and-env-variables-from-netlify-toml/4404/28)

PR #14 uses the new package from Sparticuz: https://github.com/Sparticuz/chromium/issues/8

There is a hard deadline on this one (March 31, 2023) as Node 12 in AWS is going away: https://aws.amazon.com/blogs/developer/announcing-the-end-of-support-for-node-js-12-x-in-the-aws-sdk-for-javascript-v3/

Related:

  • Build plugin may workaround the netlify.toml issue https://github.com/bencao/netlify-plugin-inline-functions-env#readme
  • https://github.com/puppeteer/puppeteer/blob/da92055e9c187f4d0cce6ca548bc69689c452b6d/docs/troubleshooting.md
  • https://answers.netlify.com/t/chrome-aws-lambda-stopped-working-possibly-due-to-different-version-of-netlify-build/48847
  • https://answers.netlify.com/t/netlify-function-with-puppeteer-breaks-if-i-make-any-changes/76924

zachleat avatar Nov 24 '22 01:11 zachleat