【发布时间】:2020-12-08 03:46:08
【问题描述】:
我无法找到一个直接的答案。
考虑一个 DynamoDB Put Item request with a condition expression。
假设条件失败并且 DynamoDB 返回错误。换句话说:Put Item 请求没有成功,并且没有有效地写入任何内容。
此请求是否仍会消耗写入吞吐量容量(或收费,如果表处于按需模式)?
【问题讨论】:
标签: amazon-web-services amazon-dynamodb
我无法找到一个直接的答案。
考虑一个 DynamoDB Put Item request with a condition expression。
假设条件失败并且 DynamoDB 返回错误。换句话说:Put Item 请求没有成功,并且没有有效地写入任何内容。
此请求是否仍会消耗写入吞吐量容量(或收费,如果表处于按需模式)?
【问题讨论】:
标签: amazon-web-services amazon-dynamodb
如果在条件写入期间 ConditionExpression 评估为 false,DynamoDB 仍会消耗表中的写入容量:
如果表中当前不存在该项目,则 DynamoDB 消耗一个写入容量单位。
如果项目确实存在,则消耗的写入容量单位数取决于项目的大小。例如,1 KB 项目的条件写入失败将消耗一个写入容量单位。如果项目是该大小的两倍,则失败的条件写入将消耗两个写入容量单位。
条件写入失败返回ConditionalCheckFailedException。发生这种情况时,您不会在响应中收到有关已消耗写入容量的任何信息。但是,您可以在 Amazon CloudWatch 中查看表的 ConsumedWriteCapacityUnits 指标。
可以在 DynamoDB 文档文章 Working with Items and Attributes 中找到此信息以及更多信息。
【讨论】: