【问题标题】:How to migrate "project" in Serverless 0.X to Serverless 1.0?如何将 Serverless 0.X 中的“项目”迁移到 Serverless 1.0?
【发布时间】:2016-12-10 00:07:31
【问题描述】:

我曾经使用过无服务器 0.X 框架,并且有一些我自己的项目使用它。在那之后,我有半年左右的漫长空白期,我又回到了 Serverless 1.0。

在 Serverless 0.X 中,我们有“项目”的概念,它可以在同一环境下处理许多功能。但在 Serverless 1.X 中,“项目”看起来已经退役,根文件夹下只有一个“handler.js”。

如何在同一环境下处理多个功能?我应该在一个 handler.js 中编写所有函数吗?

我怎样才能避免每个函数的 50MB 限制?在 Serverless 0.X 中很容易避免这个限制,因为每个函数都是单独上传的,但是我不知道如何在 Serverless 1.X 中避免这个限制。

包括这些问题,是否有任何关于将 Serverless 0.X 项目迁移到 Serverless 1.X 的好的文档?

【问题讨论】:

    标签: amazon-web-services serverless-framework


    【解决方案1】:

    From official docs:

    如何从 0.x 升级到 1.x

    因为 Serverless 1.x 是一个完整的重新实现,并且没有 实现 0.x 中的所有功能(但还有更多 一般功能)没有直接的更新路径。基本上 用户从 0.x 迁移到 1.x 的最佳方法是阅读我们的指南 以及将教您所有详细信息的 AWS 提供商文档 无服务器 1.x。这应该很容易理解如何 为 1.x 设置服务并移动您的代码。我们合作过 Serverless 1.x Beta 阶段的不同团队,他们分别是 能够很快将他们的服务迁移到新版本中。

    现在,回答您的问题:

    如何在同一环境下处理多个功能?我应该编码吗 一个 handler.js 中的所有函数?

    您需要查看blog post 关于无服务器架构的信息。答案是您不需要只使用一个功能。你可以有多种功能。此外,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.jsvideos.js。每个文件都有一个函数 (handlePhotos / handleVideos) 负责处理 API 网关事件。

    我怎样才能避免每个函数的 50MB 限制?

    使用多种功能。

    【讨论】:

      猜你喜欢
      • 2020-11-18
      • 2017-05-28
      • 1970-01-01
      • 2021-12-13
      • 2021-12-13
      • 2021-12-13
      • 2020-06-15
      • 2017-04-25
      • 2019-05-22
      相关资源
      最近更新 更多