我需要在无服务器的Amazon环境中创建某种持续部署:

  • API网关Congito身份验证路由

  • Lambda S3 / Dynamodb后端

  • S3存储桶作为用户前端的Web主机

我现在不需要的任务:

  • 亚马逊方面的前端建设

  • 任何类型的单元/集成测试

我真正需要的是:

  • 有两个独立的后端配置,如"dev"和"prod"存在且可同时访问

  • 在最小步数中无痛推送从"dev"到"prod"的可能性

一方面,有一个非常通用和强大的方法来解决这个问题,称为SAM:https://github.com/awslabs/serverless-application-model问题是,我认为我需要大约5%的内容,而且我只通过网络界面与AWS合作,所以我也必须花费很多时候理解它所编写和描述的语言 . 另一方面,API Gateway和Lambda提供了自己的分段工具,可以从Web界面使用 . 令人惊讶的是,它们根本没有耦合在一起 - 如果你只有一个版本的lambda并且改变它将导致使用lambda行为立即改变所有网关阶段 . 当然,你可以为lambda和lambda内部设置dev / prod别名,根据阶段变量进行一些配置 . 但这里有两个问题 . 首先,每个lambda都将拥有有关所有阶段资源(s3,dynamodb实例等)的所有信息 . 第二个也是更重要的,如果你想在同一时间从dev推送几个lambdas(这是一个非常常见的任务),你必须逐个做可能的相应错误和后端不一致时滞 . 有没有更方便和可靠的方法来完成这项任务?