ServerlessFrameworkで複数Lambdaデプロイする
複数Labmdaデプロイするにはserverless.ymlの設定が必要です。
プロジェクト構成は以下とします。
Project
├─.serverless
├─.vscode
└─src
├─common ・・・共通ファイル
├・・・handler1.js
└・・・handler2.js
以下のように2つのLambdaを作成します。
- lambda1.jsとcommon配下のソース一式をzip圧縮
- lambda2.jsとcommon配下のソース一式をzip圧縮
serverless.yml
serverless.ymlを修正します。
service: sample
frameworkVersion: '3'
package:
individually: true
exclude:
- src/**
include:
- src/common/**
excludeDevDependencies: true
provider:
name: aws
runtime: nodejs16.x
stage: dev
region: ap-northeast-1
functions:
helloxxx:
handler: src/lambda1.hello
package:
individually: true
include:
- src/lambda1.js
helloyyy:
handler: src/lambda2.hello
package:
individually: true
include:
- src/lambda2.js
plugins:
- serverless-offline
excludeDevDependencies: trueで、devDependenciesを除いてzip圧縮します。
serverless package
sls packageコマンドで.serverlessフォルダ配下にzipファイルを作成します。
$ serverless package Running "serverless" from node_modules Packaging sample for stage dev (ap-northeast-1) ✔ Service packaged (18s) 1 deprecation found: run 'serverless doctor' for more details
.serverlessフォルダ配下に2つのzipが作成されます。
zipの中身は意図したとおりになっています。
serverless deploy
zipが2つ作成される状態でserverless deployします。
$ serverless deploy Running "serverless" from node_modules Deploying sample to stage dev (ap-northeast-1) ✔ Service deployed to stack sample-dev (135s) functions: helloxxx: sample-dev-helloxxx (1.3 MB) helloyyy: sample-dev-helloyyy (1.3 MB) 1 deprecation found: run 'serverless doctor' for more details Want to ditch CloudWatch? Try our new console: run "serverless --console"
lambdaが作成されています。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^




コメント