ちょっとしたサービスとかで、Node.jsとGoを利用するのに、serverless.ymlを分けたくなかったので調べてみました。
ランタイムは関数ごとに指定できる
Serverkessの公式ブログにありました。
How to use multiple runtimes in a single serverless microservice
https://serverless.com/blog/building-mutliple-runtimes/
runtime
だけでなく、package
も関数ごとに指定できました。
Serverless Framework Guide - AWS Lambda Guide - Packaging
https://serverless.com/framework/docs/providers/aws/guide/packaging#packaging-functions-separately
service: hoge
provider:
name: aws
functions:
nuxt-renderer:
runtime: nodejs8.10
handler: handler.render
memorySize: 512
timeout: 30
package:
exclude:
- ./**
include:
- .nuxt
- node_modules
- static
- "*.js"
api:
handler: api/bin/main
package:
exclude:
- ./**
include:
- api/bin/**
便利です^^
参考
How to use multiple runtimes in a single serverless microservice
https://serverless.com/blog/building-mutliple-runtimes/
Serverless Framework Guide - AWS Lambda Guide - Packaging
https://serverless.com/framework/docs/providers/aws/guide/packaging#packaging-functions-separately