【问题标题】:Are transaction cancellation reasons returned in the same order as the TransactWriteItemsRequest交易取消原因是否以与 TransactWriteItemsRequest 相同的顺序返回
【发布时间】:2022-01-13 08:29:02
【问题描述】:

我们正在使用 DynamoDB 事务 API 执行 2 次写入:

  TransactWriteItemsRequest transactionalWriteRequest = new TransactWriteItemsRequest();
  transactionalWriteRequest.withTransactItems(writeOne, writeTwo); 
  dynamoDB.transactWriteItems(transactionalWriteRequest);

如果事务以TransactionCanceledException 失败,我们将返回一个带有CancellationReason 对象列表的异常。

在我的场景中,想象一下 writeOne 和 writeTwo 都失败了。该异常将返回两个取消原因。

我的问题是 - 这些原因的顺序是否与我请求中的交易顺序相匹配。

这总是正确的吗?

 // Explains why writeOne failed
 transactionError.getCancellationReasons().get(0);
 // Explains why writeTwo failed
 transactionError.getCancellationReasons().get(1);

谢谢

【问题讨论】:

    标签: java amazon-web-services amazon-dynamodb aws-java-sdk


    【解决方案1】:

    根据文档 - 是的,取消原因的顺序与交易项目的顺序相匹配:https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TransactWriteItems.html

    如果使用 Java,DynamoDB 会在 CancellationReasons 属性。此属性未设置为其他 语言。交易取消原因在订单中排序 请求的项目,如果项目没有错误,它将有 NONE 代码和 空消息。

    【讨论】:

      猜你喜欢
      • 2020-01-03
      • 1970-01-01
      • 2013-05-01
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 2016-07-10
      相关资源
      最近更新 更多