我曾经使用过Serverless 0.X框架,并有自己的一些项目。在此之后,我有半年左右的空白期,然后回到Serverless 1.0。
在Serverless 0.X中,我们使用了"project“的概念,它可以在相同的环境下处理多个函数。但是在Serverless 1.X中,"project“看起来已经退役,只有根文件夹下的一个"handler.js”。
如何在相同的环境下处理多个功能?我应该在一个handler.js中编码所有函数吗?
如何避免每个函数的50 of限制?在Serverless 0.X中,很容易避免这种限制,因为每个函数都分别上传,但我不知道如何在Serverless 1.X中避免这种限制。
包括这些问题,是否有好的文档将Serverless 0.X项目迁移到Serverless 1.X?
发布于 2016-12-10 21:08:43
如何从0.x升级到1.x 由于Serverless 1.x是一个完整的重新实现,并且没有实现0.x中的所有特性(但通常有更多的特性),因此没有直接更新路径。基本上,用户从0.x转移到1.x的最好方法是阅读我们的指南和AWS提供程序文档,这些文档将向您介绍Serverless 1.x的所有细节。这将使您很容易理解如何为1.x设置服务并将代码移到上面。在Serverless 1.x的Beta阶段,我们与不同的团队合作过,他们能够很快地将他们的服务转移到新的版本中。
现在,回答你们的问题:
如何在相同的环境下处理多个功能?我应该在一个handler.js中编码所有函数吗?
您需要了解一下这个关于无服务器体系结构的博客帖子。答案是,您不需要只使用一个函数。你可以有多个功能。另外,handler.js文件不需要有这个名称,也不需要在根文件夹中。请参阅下面的serverless.yml示例。
service: my-storage
provider:
name: aws
runtime: nodejs4.3
functions:
my-photos:
handler: lib/photos.handlePhotos
events:
- http: GET photos
- http: POST photos
- http: PUT photos
- http: DELETE photos
- http: OPTIONS photos
my-videos:
handler: lib/videos.handleVideos
events:
- http: GET videos
- http: POST videos
- http: PUT videos
- http: DELETE videos
- http: OPTIONS videos在本例中,lib文件夹中有两个文件:photos.js和videos.js。每个文件都有一个函数(handlePhotos / handleVideos),负责处理API网关事件。
如何避免每个函数的50 of限制?
使用多个函数。
https://stackoverflow.com/questions/41070737
复制相似问题