首页 > 解决方案 > Terraform aws_dynamodb_table_item - 将多行 JSON 插入属性

问题描述

我有以下地形配置:

resource "aws_dynamodb_table_item" "my_table" {
  table_name = aws_dynamodb_table.my_table.name
  hash_key   = aws_dynamodb_table.my_table.hash_key

  item = <<ITEM
{
  "id": {"S": "nameAndCodes"},
  "data": {"S": "[
    {
      "code": "03",
      "displayName": "name1"
    },
    {
      "code": "04",
      "displayName": "name2"
    }
  ]"}
}
ITEM
}

当计划阶段执行时,我收到错误:

Error: Invalid format of "item": Decoding failed: invalid character '\r' in string literal

我可以让它工作的唯一方法是使整个 json 成为一行,如下所示:

"data": {"S": "[{\"code\": \"03\", \"displayName\": \"name1\"},{\"code\": \"04\", \"displayName\": \"name2\"}]"

这看起来非常丑陋且难以管理。

有谁知道我如何在 <<ITEM 块中输入多行 JSON?

标签: jsonamazon-web-servicesamazon-dynamodbterraform

解决方案


推荐阅读