🖥

AWS の Lambda で npm install するには 圧縮ファイルをダウンロード・アップロードする必要があるようなのでチャレンジし

2019/11/04に公開

にわかには信じられなかった

なので方法を知ってもしばらく手が止まるぐらいだった。深い深い事情があるのだろうきっと。

サーバーレスのサービスってさすがに自由にパッケージインストールはさせてくれないものが多いのだろうか?

参考

ほとんどこの記事のまま。

Lambda の Node.js でもっといろんなパッケージを使いたいとき – SIOS Tech. Lab

デプロイパッケージをダウンロードする

image
image

image

てきとうなディレクトリに展開する

mkdir ~/Downloads/lambda

index.js とは?

既存のコードが入ってた。

ということは何もLambdaに設定していない初期状態であれば、このダウンロードの手順はスキップできるかもしれない。

$ cat index.js

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch({args: ['--no-sandbox']});
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

同じディレクトリで npm install する

npm install puppeteer

installed

$ ls -la
total 48
drwxr-xr-x   6 yumainaura  staff    192 Nov  4 14:24 ./
drwx------@  7 yumainaura  staff    224 Nov  4 14:23 ../
-rw-r--r--@  1 yumainaura  staff   6148 Nov  4 14:23 .DS_Store
-rw-r--r--@  1 yumainaura  staff    285 Nov  4 05:03 index.js
drwxr-xr-x  43 yumainaura  staff   1376 Nov  4 14:24 node_modules/
-rw-r--r--   1 yumainaura  staff  11783 Nov  4 14:24 package-lock.json

圧縮する

image

関数コードをアップロードする

image

image

やったぜ!

容量オーバーでした。

image

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2668

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-11-04

Discussion