Skip to main content

Next.jsがServerless+AWSで「Error: Name cannot be specified across all Lambdas as it will cause conflicts.」

· One min read

hello​

AWS CloudFront で Next.js+serverless を使ったサイトを公開していたが、ある日デプロイ時に以下エラーが発生し始めた。

Error: Name cannot be specified across all Lambdas as it will cause conflicts.

Lambda の関数名周りがおかしいのかと思って、AWS リソースをすべて削除して再デプロイしてみたが、エラーは解消されれず。

どうやら、serverless での lambda の関数名の指定方法が変わっているようだった。

serverless.yml で s3 bucket や lambda 名などを指定しているが、以下の様に変更したら動いた

sampleApp:
component: "@sls-next/serverless-component@3.6.0"
inputs:
bucketName: sampleAppBucket
name: sampleAppFunction

↓

sampleApp:
component: "@sls-next/serverless-component@3.6.0"
inputs:
bucketName: sampleAppBucket
name:
defaultLambda: sampleAppFunction

defaultLambda を指定する必要があったらしい。