使用Terraform将非关键属性添加到DynamoDB。

时间:2018-07-03 05:57:15

标签: amazon-web-services amazon-dynamodb terraform

我正在尝试在Dynamo Table中添加非关键属性。只是尝试执行此https://www.terraform.io/docs/providers/aws/r/dynamodb_table.html第一个示例。我收到错误消息“必须为所有属性建立索引。未使用的属性”

有人可以解释吗?或如何使用Terraform将非关键属性添加到dynamodb。

1 个答案:

答案 0 :(得分:2)

DynamoDB是无模式数据存储,因此通常不必提前声明属性。

任何异常都可以用作表本身(主键,排序键)或辅助索引的键。这些必须定义为表的定义的一部分,因为DynamoDB需要知道如何构造必要的索引以通过这些属性进行有效查询。

这在文档中有更详细的提及:

  

仅在表对象上定义将要使用的属性   为:

     
      
  • 表哈希键或范围键
  •   
  • LSI或GSI哈希键或范围键
  •   

示例中的三个属性UserIdGameTitleTopScorehash_keyrange_keyGameTitleIndex中使用分别索引,因此它们应该被接受。

要设置不是键的属性,只需在将项目写入表中时将其包括在内。 DynamoDB将存储该结果,并在检索到该项目时将其返回,但是查询表时将无法将其用作过滤器或排序键。