パパエンジニアのアウトプット帳

30歳に突入した1児のパパエンジニアのブログ

Serverless Framework for Ruby - 複数関数作成編

下記の続き。今回は複数のファンクションを定義してみようと思う。

masaru-tech.hateblo.jp


serverless.ymlの書き方からなんとなく複数ファンクションの書き方は予想がつく。
handerにファイル名.アクション名だろうと。

$ vi serverless.yml
---
 functions:
   hello:
     handler: handler.hello
+    events:
+      - http:
+          path: hello
+          method: get
+  goodby:
+    handler: handler.goodby
+  fuga:
+    handler: hoge.fuga

これで1ファイルにまとめることもファイルを分けることもできる。


しかし・・・


lambdaのファンクションは複数出来ているが、コードサイズが全て同じでしかもそれなりにある。。。
S3にzipがあるのでダウンロードして中をみてみると。。。

$ ls
./            ../       handler.rb    hoge.rb       node_modules/ package.json  yarn.lock


なるほど。全てを1つのzipにまとめてそれをlambdaのhandlerの指定を変えてるんですね。。。
しかも、node_modulesとかpackage.jsonとかはrubyだと要らない。。。

lambdaでデプロイパッケージの容量制限があるのでこれは分けて欲しいなー。

docs.aws.amazon.com