首页 > 解决方案 > 是否可以从 Terraform 更新现有的 Dynamo DB 表

问题描述

我正在尝试创建一个 terraform 模块,借助它我可以进入现有的 Dynamo DB 表。我有这个创建发电机数据库表的代码

resource "aws_dynamodb_table" "basic-dynamodb-table" {
  name           = "GameScores"
  billing_mode   = "PROVISIONED"
  read_capacity  = 20
  write_capacity = 20
  hash_key       = "UserId"
  range_key      = "GameTitle"

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

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

  attribute {
    name = "TopScore"
    type = "N"
  }

  ttl {
    attribute_name = "TimeToExist"
    enabled        = false
  }

  global_secondary_index {
    name               = "GameTitleIndex"
    hash_key           = "GameTitle"
    range_key          = "TopScore"
    write_capacity     = 10
    read_capacity      = 10
    projection_type    = "INCLUDE"
    non_key_attributes = ["UserId"]
  }

  tags = {
    Name        = "dynamodb-table-1"
    Environment = "production"
  }
}

有什么方法可以更改现有的发电机数据库表。

标签: amazon-dynamodbterraform

解决方案


要向表中添加条目,您可以查看aws_dynamodb_table_item资源。下面是一个示例,您可以使用它向表中添加条目:

resource "aws_dynamodb_table_item" "item1" {
    table_name     = aws_dynamodb_table.basic-dynamodb-table.name
    hash_key       = aws_dynamodb_table.basic-dynamodb-table.hash_key
    range_key      = aws_dynamodb_table.basic-dynamodb-table.range_key

    item = <<ITEM
{
    "UserId": {"S": "user"},
    "GameTitle": {"S": "gamex"},
    "TopScore": {"N": "42"}
}
ITEM
}

推荐阅读