在无服务器中,我的函数具有以下目录结构:
serverless.yml
functions -
stories -
create.js
get.js
我的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”文件夹,但我看不出它和我的有任何明显区别,除了我添加了一个额外的文件夹。