Amazon dynamodb DynamoDB跟踪两个表之间的执行情况

Amazon dynamodb DynamoDB跟踪两个表之间的执行情况,amazon-dynamodb,aws-api-gateway,dynamodb-queries,Amazon Dynamodb,Aws Api Gateway,Dynamodb Queries,我有一个Lambda,它向服务发出API请求,并获取给定标识符的匹配列表。 一旦获得匹配列表,它将按以下方式更新DynamoDB表: 请求ID(分区键) 身份证件 比赛 地位 uuid1 ID1 [match1,match2,match3…] 找到匹配项 我可能会这样做,因为我是单表设计模式的粉丝: 主键 SK 类型 属性 REQ# META 要求 匹配:[a、b、c];未处理的_匹配:3;状态:找到匹配项 REQ# ma 匹配 结果 REQ# M#b 匹配 结果 REQ# M#c 匹配 结果

我有一个Lambda,它向服务发出API请求,并获取给定标识符的匹配列表。 一旦获得匹配列表,它将按以下方式更新DynamoDB表:

请求ID(分区键) 身份证件 比赛 地位 uuid1 ID1 [match1,match2,match3…] 找到匹配项
我可能会这样做,因为我是单表设计模式的粉丝:

主键 SK 类型 属性
REQ#
META
要求 匹配:[a、b、c];未处理的_匹配:3;状态:找到匹配项
REQ#
ma
匹配 结果
REQ#
M#b
匹配 结果
REQ#
M#c
匹配 结果
谢谢这是一次有趣的拍摄。然而,在您的解决方案中,整个匹配批次都是一次完成的,这可能对我不起作用。同样是的,我将达到dynamo的大小限制,我计划将列表存储在s3中,并在表中只存储一个链接“然后您有一个Lambda函数“流处理器”,用于侦听该表的流。当出现一个新的请求项(不存在旧图像)时,它将在您的SQS队列中创建任务。”-->其思想是将每个匹配get作为任务放入队列中。读取的工作者可以单独或成批处理这些,不需要将所有这些作为单个批处理。我明白了。然而,我的匹配列表基本上在s3中,这是一种扇出方法,一行可能有多个编写器。这不会导致条件异常吗?它本质上是一个get,然后put,对吗?如果你使用update表达式来减少值,这不是问题,DynamoDB会在后台为你处理这个问题。你能给我指一下这个减少表达式吗。我没能找到它。