【问题标题】:Does AWS DynamoDB consume throuput or charges for a Put Item (write) operation that failed due to a conditional expression?AWS DynamoDB 是否会消耗因条件表达式而失败的 Put Item(写入)操作的吞吐量或费用?
【发布时间】:2020-12-08 03:46:08
【问题描述】:

我无法找到一个直接的答案。

考虑一个 DynamoDB Put Item request with a condition expression

假设条件失败并且 DynamoDB 返回错误。换句话说:Put Item 请求没有成功,并且没有有效地写入任何内容。

此请求是否仍会消耗写入吞吐量容量(或收费,如果表处于按需模式)?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb


    【解决方案1】:

    如果在条件写入期间 ConditionExpression 评估为 false,DynamoDB 仍会消耗表中的写入容量:

    • 如果表中当前不存在该项目,则 DynamoDB 消耗一个写入容量单位。

    • 如果项目确实存在,则消耗的写入容量单位数取决于项目的大小。例如,1 KB 项目的条件写入失败将消耗一个写入容量单位。如果项目是该大小的两倍,则失败的条件写入将消耗两个写入容量单位。

    条件写入失败返回ConditionalCheckFailedException。发生这种情况时,您不会在响应中收到有关已消耗写入容量的任何信息。但是,您可以在 Amazon CloudWatch 中查看表的 ConsumedWriteCapacityUnits 指标。

    可以在 DynamoDB 文档文章 Working with Items and Attributes 中找到此信息以及更多信息。

    【讨论】:

    • 非常感谢!在文档中找到了section,感谢您指出!
    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多