DynamoDB java sdk v2 客户端批量写入重试

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

DynamoDB Java SDKv2 是否为batchWriteItem 调用提供重试策略?我正在寻找一种重试策略,该策略可以重试否则将作为未处理的项目返回的项目。

在 DynamoDB Java SDKv1 中,有 DynamoDBMapper 默认重试策略来实现此目的,请参阅 https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/datamodeling/DynamoDBMapperConfig.DefaultBatchWriteRetryStrategy .html.

我在官方 javadoc 中找不到与开箱即用的批处理操作重试相关的任何内容,例如https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/dynamodb/DynamoDbClient.html#batchWriteItem(java.util.function.Consumer)https://sdk。 amazonaws.com/java/api/latest/software/amazon/awssdk/enhanced/dynamodb/package-summary.html.

我希望我不必在默认或增强客户端之上自己实现重试。

amazon-dynamodb aws-java-sdk-2.x
1个回答
0
投票

前几天刚遇到这个问题。

文档建议采用简单的循环方式,而不是复杂的重试策略。而且循环代码很简单:)

文档链接:

通常,您会在循环中调用 BatchWriteItem。每次迭代 将检查未处理的项目并提交新的 BatchWriteItem 请求那些未处理的项目,直到所有项目都已处理完毕 已处理。

AWS 还提供了代码示例

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