amazon-web-services - AWS 云形成 : Is it possible to Update Stack to recreate DB resources without data loss

标签 amazon-web-services amazon-dynamodb aws-cloudformation

我有几个由同一模板制作的 CloudFormation 堆栈,每个堆栈都包含一些 DynamoDB 表。我最近需要对 DynamoDB 表的 LSI 进行更改。当为数据库中没有任何数据的堆栈环境更新堆栈时,这很好,但是当我抽出时间来更新我们的共享开发堆栈时,我会遇到问题。 LSI 只能在创建表时创建,因此当堆栈更改 LSI 时,它必须删除并创建全新的资源,这将删除表中当前的所有数据。

我们的共享开发环境已经包含一些用于演示和测试的数据,我不想中断它。有什么方法可以在更新堆栈时从不同版本的数据库复制数据吗?我不介意有点手动的过程,比如导出所有数据并在更新后导入,但是数据太多,无法手动输入每个项目。如果我必须删除数据,这并不是世界末日,只是想知道是否有任何解决办法。

最佳答案

CloudFormation 不会自动处理此问题 - 它只管理 AWS 资源,而不管理其中的数据。

但是,有一些解决方案允许您将数据从 DynamoDB 导出到 S3 并将其导回。例如,以下两个链接展示了如何使用 AWS Data Pipelines 执行此操作:

关于amazon-web-services - AWS 云形成 : Is it possible to Update Stack to recreate DB resources without data loss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43265949/

相关文章:

amazon-web-services - Amazon S3 生命周期追溯应用程序

java - PowerMock PrepareForTest 注释导致 AmazonSQSClient 构造函数出现问题

java - Java 中的 Dynamodb 与 list.append

javascript - 使用 JavaScript 仅从 DynamoDB 中的一行中检索特定数据

amazon-web-services - 使用云形成模板创建 DynamoDB 时遇到问题。以及如何在 YAML CF 中定义属性 Boolean、List 和 Map

aws-cloudformation - 将现有 Cognito UserPool 导入无服务器框架堆栈

amazon-web-services - 如何使用 CloudFormation 将域名别名到 Elastic Beanstalk 环境?

amazon-web-services - 如何为 WebSocket 协议(protocol)配置 AWS ELB 和 Nginx?

python-3.x - 如何为 Lex 机器人运行时获取 PostText API 调用的授权用户

amazon-web-services - 如何在 CloudFormation 模板中使用 SSM StringList 中的值?