Добавление нескольких элементов DynamoDB через terraform - PullRequest
0 голосов
/ 20 февраля 2020

Как добавить несколько элементов в таблицу DynamoDB?

  table_name = "${var.environment}-kaleidos-dynamodb-MappingConfig"
  hash_key   = "eventType"
  item = <<EOF
   json
EOF
}````

DynamoDB always expects one item. Is there a way to provide multiple items?

1 Ответ

0 голосов
/ 21 февраля 2020

Нет способа добавить несколько элементов, используя один resource "aws_dynamodb_table_item". Вы можете иметь несколько resource операторов в одном файле, если вы даете им разные имена, например:

resource "aws_dynamodb_table_item" "item1" {
  ...
}

resource "aws_dynamodb_table_item" "item2" {
  ...
}

Если вы пытаетесь создать элементы на основе массива или карты или спецификаций c число, вы можете использовать count или for_each (for_each введено в 0.12.6)

count пример:

resource "aws_dynamodb_table_item" "items" {
  count = 4
  item <<EOF
{
  "pk": {"S": "${count.index}"}
}
EOF

for_each пример:

resource "aws_dynamodb_table_item" "items" {
  for_each = {
    item1 = {
      something = "hello"
    }
    item2 = {
      something = "hello2"
    }
  }
  item <<EOF
{
  "pk": {"S": "${each.key}"},
  "something": {"S": "${each.value.something}"}
}
EOF
}
...