我有一个用户表和一个请求表。许多请求一个用户。我想在users表中有一个请求列表。但我不知道如何编写云形成调用来构建它。目前我只有一组扁平的属性:
resources:
Resources:
DynamoDbTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: Employee
AttributeDefinitions:
- AttributeName: employeeid
AttributeType: S
- AttributeName: name
AttributeType: S
- AttributeName: requests
AttributeType: S
KeySchema:
- AttributeName: employeeid
KeyType: HASH
我希望请求是用户的请求ID列表,而不是字符串值,所以没有S类型,所以我可以遍历它们并调用我想要的那些。如果我的架构没问题,请告诉我。提前致谢。
答案 0 :(得分:2)
查看以下documentation。请注意,只要您不将该属性用作索引,就不需要定义它。
DynamoDB是一个NoSQL数据库,并且是无模式的,这意味着, 除主键属性外,您不需要定义任何属性 表创建时的属性或数据类型。
因此,在您的情况下,serverless.yml
只应指定:
resources:
Resources:
DynamoDbTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: Employee
AttributeDefinitions:
- AttributeName: employeeid
AttributeType: S
KeySchema:
- AttributeName: employeeid
KeyType: HASH
在您的代码中,您可以动态地写入包含集合,映射甚至json的表属性。