ちょっとしたサービスとかで、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
serverless.yml_関数ごとにruntimeを指定する例
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