はじめに
serverless.ymlで関数の論理IDをケバブケースやスネークケースなどの区切り文字を含むケースにはしないようにしましょう。
# serverless.yml
functions:
functionOne: ←これが論理ID
handler: handler.functionOne
description: optional description for your Lambda
functionTwo:
handler: handler.functionTwo
functionThree:
handler: handler.functionThree
ケバブケースやスネークケースにするとどうなるか
下記の4つのケースで論理IDを命名した関数をデプロイした結果を見てみます。
- ケバブケース、
- スネークケース
- キャメルケース
- パスカルケース
functions:
kebab-case-sample:
name: kebab-sample
handler: functions.kebab_sample.lambda_handler
snale_case_sample:
name: snale-case-sample
handler: functions.snale_case_sample.lambda_handler
camelCaseSample:
name: camel-case-sample
handler: functions.camel_case_sample.lambda_handler
PascalCaseSample:
name: pascal-case-sample
handler: functions.pascal_case_sample.lambda_handler
sls deploy
実行後、CloudFormationのコンソールから関数の論理IDを確認してみます。
キャメルケースとパスカルケースは、serverless.ymlの論理IDがそのまま表示されていますが、ケバブケースは-
→Dash
、スネークケースは_
→Underscore
にそれぞれ区切り文字が変換されてしまうようで、かなり読みにくくなります。
公式ドキュメントではキャメルケースを使用しているので、素直にキャメルケースが良いと思います。