在不破坏表的情况下向 DynamoDB 表添加范围键

石油喷气发动机

我有一个只有哈希键的表,我想使用 terraform 添加新的范围键和 GSI,而不影响表中的数据或破坏它。

我知道它有 prevent_destroy = true。我想在不删除或破坏旧数据的情况下更新表。

老一:

resource "aws_dynamodb_table" "table" {
  name         = "table_example"
  hash_key     = "hash"

  attribute {
    name = "hash"
    type = "S"
  }

  lifecycle {
    prevent_destroy = true
  }

}

更新后:

resource "aws_dynamodb_table" "table" {
  name         = "table_example"
  hash_key     = "hash"
  range_key    = "range"

  attribute {
    name = "hash"
    type = "S"
  }

  attribute {
    name = "range"
    type = "S"
  }

  global_secondary_index {
    name            = "gsi-example"
    hash_key        = "range"
    projection_type = "ALL"
  }

  lifecycle {
    prevent_destroy = true
  }

}
马尔钦

不能这样做KeySchema 的 任何更改需要替换

您必须备份数据,更新时创建新表,然后重新上传。或者,使用您的排序键创建 GSI。通过这种方式,您可以保持主表不变,并在需要使用排序键时对 GSI 进行操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们如何基于索引(而不是基于主has和范围键)更新dynamodb表

如何在不更改PostgreSQL类型的情况下向类型表中添加列?

如何在不破坏任何内容的情况下向材质组件添加自定义样式

如何填充DynamoDB表

DynamoDB邻接表主键

删除并创建dynamoDB表

如何在不破坏SOLID的情况下从具有不同类型的表中获取记录

如何在不锁定表的情况下向Postgres中的ENUM添加新值?

如何在不指定范围键值的情况下对DynamoDB查询结果进行排序

DynamoDB | 如何在不指定分区键的情况下按排序顺序查询所有记录

DynamoDB全局表

如何在不覆盖现有密钥的情况下向Dynamodb映射添加新密钥?

如何在不重建表的情况下向事实表添加新维度?

boto dynamodb2:我只能使用范围键查询表吗?

在不破坏实现的情况下向类添加方法

DynamoDB 表编程创建

在不覆盖的情况下向现有键添加值

如何在不破坏 GPT 分区表(结束指针)的情况下截断未使用空间的磁盘映像文件

在 TTL 允许的范围之外截断 DynamoDB 表

AWS DynamoDB 表结构

如何在不破坏 WordPress 的情况下使用 .htaccess 向 URL 添加参数

DynamoDB - 多个范围键

如何在不破坏页面的情况下向闪亮的应用程序添加框?

请问如何在不覆盖现有键的情况下向字典添加新的键值对?

如何在没有分区键的情况下在 DynamoDb 表中查找值?

计算 DynamoDB 表的 wcu

Scala:在不破坏方法返回类型的情况下向 Seq 添加元素

从 JSON 创建 dynamodb 表

如何在不丢失laravel中的数据的情况下向现有迁移表添加额外的列?