You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为DynamoDB客户端配置含多个RetryCondition的RetryPolicy

DynamoDB客户端RetryPolicy配置多个RetryCondition的实现方法

可以直接通过AWS SDK提供的条件组合类实现多重试条件配置,无需自定义复杂逻辑。
SDK提供两种基础组合条件:

  • 满足任意一个条件就触发重试:使用OrRetryCondition,是最常用的多条件场景
  • 所有条件全部满足才触发重试:使用AndRetryCondition

以下是同时对UnknownHostException、SocketTimeoutException、503状态码都触发重试的示例代码:

ClientOverrideConfiguration.builder()
    .retryPolicy(RetryPolicy.builder()
        .retryCondition(
            OrRetryCondition.create(
                RetryOnExceptionsCondition.create(UnknownHostException.class),
                RetryOnExceptionsCondition.create(SocketTimeoutException.class),
                RetryOnStatusCodeCondition.create(HttpStatusCode.SERVICE_UNAVAILABLE_503)
            )
        )
        .build())
    .build();

说明:内置重试条件、自定义实现的RetryCondition都可以放入组合条件中,也支持多层嵌套组合(比如在OrRetryCondition中嵌套AndRetryCondition实现复杂逻辑)。

如果你需要保留SDK默认的重试规则(如限流错误、服务端错误重试等),不要直接替换默认重试条件,可以把默认条件加入组合规则中:

.retryCondition(
    OrRetryCondition.create(
        RetryPolicy.defaultRetryCondition(), // 保留SDK原有重试逻辑
        RetryOnExceptionsCondition.create(UnknownHostException.class)
    )
)

内容的提问来源于stack exchange,提问作者yurii.pitomets

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:15:03