我有一个使用此 Terraform 创建的 DynamoDB 表:
resource "aws_dynamodb_table" "materials_table" {
name = "materials"
hash_key = "MATERIAL"
billing_mode = "PROVISIONED"
read_capacity = 5
write_capacity = 5
attribute {
name = "MATERIAL"
type = "S"
}
}
该表已成功填充(有 4 条记录,如中所述这个帖子)但为了解决问题(在那篇文章中)我添加了一个字段PK
并将其设置为hash_key
字段,这样:
resource "aws_dynamodb_table" "materials_table" {
name = "materials"
hash_key = "PK"
billing_mode = "PROVISIONED"
read_capacity = 5
write_capacity = 5
attribute {
name = "PK"
type = "S"
}
}
这导致运行时出现以下错误terraform apply
:
Error: error creating DynamoDB Table: ResourceInUseException: Table already exists: materials
我需要做什么.tf
让更改被接受?
不允许更改 DynamoDB 中的某些属性,例如更改分区键、添加本地二级索引等。
当发生此类更改时,它将需要替换资源,并且为了替换,它将尝试删除并重新创建资源。在此过程中,如果表已经存在,则会失败。
唯一的选择是删除堆栈或手动删除 DynamoDB 表并让模板再次创建它。或者重命名表。
文档表示将强制新资源
hash_key - (必需,强制新资源)用作
哈希(分区)键。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)