Rust AWS SDK 是否提供有关 DynamoDB 条件检查失败的确切位置的信息?我有多个条件检查,并且 Err 响应没有说明哪个条件失败。
TransactionCanceledException(TransactionCanceledException { 消息: Some("交易已取消,请参阅取消原因 具体原因[无,ConditionalCheckFailed]”), 取消原因:一些([CancellationReason { 项目:无,代码: Some("None"), message: None }, CancellationReason { item: None, code: Some("ConditionalCheckFailed"), message: Some("条件请求 失败”)}]),元:ErrorMetadata {代码: 一些(“TransactionCanceledException”),消息:一些(“交易 已取消,具体原因请参阅取消原因 [无,条件检查失败]"),
是的,您需要提供参数
return_values_on_condition_check_failure
并将其设置为 ALL_OLD
:
https://docs.rs/rusoto_dynamodb/latest/rusoto_dynamodb/struct.Put.html
这将在服务器端返回该项目的值,然后您可以了解为什么您的条件失败。
[None, ConditionalCheckFailed]
这已经让您知道事务批次中第二个项目的条件失败。