Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8875

serverless-frameworkのLayerをローカルで使いたい。

$
0
0
困ったこと serverless-frameworkでLayerを使っていて、 デプロイした後に、AWS Lambdaコンソールで実行すると、動くのに、 ローカルで実行すると動かない問題があった。 解決方法 --dockerオプションを指定することで、解決しました。 裏でDocker-lambdaが起動するみたいです。 Docker-lambda https://github.com/lambci/docker-lambda 手順 最終的な構成はリポジトリ公開しています。 分かりやすいように、node_modulesまでコミットしています。 https://github.com/goda-kazuki/serverless-framework-sample npmの初期化 npm init serverlessのインストール npm install --save-dev serverless プロジェクト作成 npx sls create --template aws-nodejs --name sample --path sample 作成したプロジェクトに移動 cd sample ローカルで実行 npx sls invoke local -f hello レイヤーを追加する mkdir layer mkdir layer/nodejs momentを追加 npm init npm install moment handler.jsにmomentを使うように指定 以下を追加 require('moment') 実行(失敗する) npx sls invoke local -f hello serverless.ymlに以下を追加 functions: hello: handler: handler.hello layers: - { Ref: SampleLambdaLayer } layers: Sample: path: layer description: my sample layer compatibleRuntimes: - nodejs12.x 実行(失敗する) npx sls invoke local -f hello --dockerオプションを追加して実行(成功する) npx sls invoke local -f hello --docker その他 Githubで質問したところ、丁寧に回答いただけました。(感謝) https://github.com/serverless/serverless/issues/9535

Viewing all articles
Browse latest Browse all 8875

Trending Articles