Rust AWS SDK DynamoDB 条件检查错误处理

问题描述 投票:0回答:1

Rust AWS SDK 是否提供有关 DynamoDB 条件检查失败的确切位置的信息?我有多个条件检查,并且 Err 响应没有说明哪个条件失败。

TransactionCanceledException(TransactionCanceledException { 消息: Some("交易已取消,请参阅取消原因 具体原因[无,ConditionalCheckFailed]”), 取消原因:一些([CancellationReason { 项目:无,代码: Some("None"), message: None }, CancellationReason { item: None, code: Some("ConditionalCheckFailed"), message: Some("条件请求 失败”)}]),元:ErrorMetadata {代码: 一些(“TransactionCanceledException”),消息:一些(“交易 已取消,具体原因请参阅取消原因 [无,条件检查失败]"),

https://docs.rs/aws-sdk-dynamodb/latest/aws_sdk_dynamodb/types/error/struct.ConditionalCheckFailedException.html

amazon-web-services rust amazon-dynamodb aws-sdk
1个回答
0
投票

是的,您需要提供参数

return_values_on_condition_check_failure
并将其设置为
ALL_OLD
:

https://docs.rs/rusoto_dynamodb/latest/rusoto_dynamodb/struct.Put.html

这将在服务器端返回该项目的值,然后您可以了解为什么您的条件失败。

[None, ConditionalCheckFailed]
这已经让您知道事务批次中第二个项目的条件失败。

© www.soinside.com 2019 - 2024. All rights reserved.