Ошибка Terraform Dynamodb - все атрибуты должны быть проиндексированы

Я пытаюсь создать простую таблицу Dynamodb, используя следующие модули ресурсов terraform.

Получите следующую ошибку при запуске terraform: Все атрибуты должны быть проиндексированы. Неиспользуемые атрибуты: ["pactitle" "ipadress" "Timestamp"].зачем нам индексировать все атрибуты? Как это решить?

      resource "aws_dynamodb_table" "this" {
  count = var.create_table ? 1 : 0

  name             = var.name
  billing_mode     = var.billing_mode
  hash_key         = var.hash_key
  range_key        = var.range_key
  read_capacity    = var.read_capacity
  write_capacity   = var.write_capacity
  //stream_enabled   = var.stream_enabled
  //stream_view_type = var.stream_view_type

  dynamic "attribute" {
    for_each = var.attributes

    content {
      name = attribute.value.name
      type = attribute.value.type
    }
  }


  server_side_encryption {
    enabled     = var.server_side_encryption_enabled
    kms_key_arn = var.server_side_encryption_kms_key_arn
  }

  tags = merge(
    var.tags,
    {
      "Name" = format("%s", var.name)
    },
  )

  timeouts {
    create = lookup(var.timeouts, "create", null)
    delete = lookup(var.timeouts, "delete", null)
    update = lookup(var.timeouts, "update", null)
  }
}

вызывающий модуль

      
module "dynamodb_table" {

source = "./../../../modules/dynamodb"
 

  name      = "pack-audit-cert"
  hash_key  = "id"
  create_table= true
  read_capacity=5
  write_capacity=5
  billing_mode   = "PROVISIONED"


 range_key = "pacid"

  attributes = [
    {
      name = "id"
      type = "N"
    },
    {
      name = "pacid"
      type = "S"
    },
    {
      name = "pactitle"
      type = "S"
    },
    {
      name = "ipadress"
      type = "S"
    },
    {
      name = "Timestamp"
      type = "S"
    }
  ]


}

Спасибо

1 ответ

Это сообщение об ошибке немного вводит в заблуждение. Вы должны определять только индексированные атрибуты при создании таблицы. Поскольку DynamoDB - это база данных без схемы, она не заботится о других атрибутах во время создания таблицы.

Другие вопросы по тегам