对我来说,“散列”这个词表明,在 DynamoDB 中散列由多个字段组成是可能的。但是,我发现的每一篇文章都显示了只包含一个值的“哈希”……这对我来说没有任何意义。
我的表由以下字段组成:
- 用户界面 (PK)
- 提供者
- 标识符
- 从
- 到
- 接收日期
- 处理日期
目标是根据我的应用程序检索数据的方式(当然,PK 除外)建立多个索引。组合是:
通过提供者的消息标识符:
所需哈希:提供者 + 标识符通过会话消息标识符:
所需哈希:从 + 到到收到的日期以及是否已处理
所需的哈希:_ac到收到的日期以及是否已处理
所需的哈希:帐户
这是我尝试过但未成功的示例之一...
MessagesTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: messages
BillingMode: PAY_PER_REQUEST
AttributeDefinitions:
- AttributeName: uid
AttributeType: S
- AttributeName: account
AttributeType: S
- AttributeName: provider
AttributeType: S
- AttributeName: identifier
AttributeType: S
- AttributeName: from
AttributeType: N
- AttributeName: to
AttributeType: N
- AttributeName: _ac
AttributeType: N
- AttributeName: _ap
AttributeType: N
KeySchema:
- AttributeName: uid
KeyType: HASH
GlobalSecondaryIndexes:
- IndexName: idxConversation
KeySchema:
- AttributeName: from:to
KeyType: HASH
- AttributeName: _ac
KeyType: RANGE
Projection:
ProjectionType: KEYS_ONLY
- IndexName: idxProviderMessage
KeySchema:
- AttributeName: provider:identifier
KeyType: HASH
- AttributeName: _ac
KeyType: RANGE
Projection:
ProjectionType: KEYS_ONLY