amazon web services – Rust AWS SDK DynamoDB Conditional Check Error Handling
Does the Rust AWS SDK provide information on where a DynamoDB conditional check failed exactly? I have multiple conditional checks and the Err response doesn’t shed any light on which condition failed.
TransactionCanceledException(TransactionCanceledException { message:
Some(“Transaction cancelled, please refer cancellation reasons for
specific reasons [None, ConditionalCheckFailed]”),
cancellation_reasons: Some([CancellationReason { item: None, code:
Some(“None”), message: None }, CancellationReason { item: None, code:
Some(“ConditionalCheckFailed”), message: Some(“The conditional request
failed”) }]), meta: ErrorMetadata { code:
Some(“TransactionCanceledException”), message: Some(“Transaction
cancelled, please refer cancellation reasons for specific reasons
[None, ConditionalCheckFailed]”),
let request = client
.transact_write_items()
.set_transact_items(Some(transact_items));
match request.send().await {
Err(err) => {
match err.into_service_error() {
aws_sdk_dynamodb::operation::transact_write_items::TransactWriteItemsError::TransactionCanceledException(i) => {
println!("reason: {:?}", &i.cancellation_reasons().unwrap());
},
_ => todo!(),
};
[CancellationReason { item: None, code: Some(“None”), message: None },
CancellationReason { item: None, code: Some(“ConditionalCheckFailed”),
message: Some(“The conditional request failed”) }]
Read more here: Source link
