AWS 无服务器资源从 v0.5 部署到 v1.0

AWS Serverless resources deploy from v0.5 to v1.0

我想将一个使用 Serverless Framework 创建的大型 Serverless 项目从 v0.5 迁移到 v1,我最担心的是部署在 sls 0.5 版本中的资源(DynamoDB 表)将被删除或修改,如果我会尝试从 sls 版本 v1 进行部署。

众所周知,v1 与 0.5 不兼容...那么是否可以在不破坏 AWS 中 DynamoDB 表的云形成结构的情况下将 0.5 资源迁移到 1.0?换句话说:如何安全地将 0.5 资源迁移到 1.0?

编辑:我前面有完整的 AWS API 网关。

我会考虑调查 blue green deployments. For DynamoDB you can utilize streams to ensure data is in sync. You mentioned server less but it's hard to recommend a solution there without knowing if you're just doing lambda or if you've got an API gateway in front. In those cases you might want to look into stage variables

重要提示:请先在非生产环境中尝试。

  1. 不要对 v0.5 项目执行 sls remove
  2. 在无服务器中重写 API 网关和 Lambda 函数 v1.x 但不包括 DynamoDB 资源。这意味着 v1.x 将仅部署 API 个网关端点和 AWS Lambda 函数。
  3. 在您的 Lambda 处理程序中,使用与以前相同的 DynamoDB 表。