В режиме без сервера у меня есть следующая структура каталогов для моих функций:
serverless.yml
functions -
stories -
create.js
get.js
my serverless.yml
тогда выглядит так:
functions:
stories:
create:
handler: functions/stories/create.main
events:
- http:
path: stories/create
method: post
cors: true
authorizer: aws_iam
get:
handler: functions/stories/get.main
events:
- http:
path: stories/{id}
method: get
cors: true
authorizer: aws_iam
однако, когда я запускаю тест для проверки создания: serverless invoke local --function create --path mocks/create-event.json
я получаю следующую ошибку:
Serverless Error ---------------------------------------
Function "create" doesn't exist in this Service
Мне удалось заставить работать одну функцию, которая выглядит следующим образом:
functions:
stories:
handler: functions/stories/create.main
events:
- http:
path: stories/create
method: post
cors: true
authorizer: aws_iam
Поскольку я добавил функцию get, я решил, что мне нужно добавить части create и get после историй, но независимо от того, как я изменяю обработчик, функции никогда не существуют.
Я пытался изменить путь на functions/stories/create/create.main
без разницы, есть ли что-то очевидное, чего мне не хватает, чтобы разрешить несколько обработчиков в одном месте?
Я смотрел на следующий пример , в котором используется одна папка «todos», содержащая несколько функций, но я не вижу никакой очевидной разницы между ней и моей, кроме того, что я добавил дополнительная папка.