我需要一个使用云形成的 dynamodb 列表

I need a list in a dynamodb using cloud formation

我有一个用户 table 和一个请求 table。一个用户的许多请求。我想在用户 table 中有一个请求列表。但我不确定如何编写云形成调用来构建它。目前我只有一组平面属性:

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

我希望 requests 是用户的请求 ID 列表,而不是字符串值,因此没有 S 类型,因此我可以循环浏览它们并调用我想要的那些。让我知道我的架构是否正常。提前致谢。

看看下面的documentation。请注意,只要您不使用属性作为索引,就不需要定义它。

DynamoDB is a NoSQL database, and is schemaless, which means that, other than the primary key attributes, you do not need to define any attributes or data types at table creation time.

所以在你的情况下,serverless.yml 应该只指定:

resources:  
  Resources:
    DynamoDbTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: Employee
        AttributeDefinitions:
          - AttributeName: employeeid
            AttributeType: S
        KeySchema:
          - AttributeName: employeeid
            KeyType: HASH

并且在您的代码中,您可以动态写入由集合、映射甚至 json 组成的 table 属性。