@aws- sdk/ util- retrich (中文(简体) )
该套装为复习提供共享公用事业.
使用量
默认
默认情况下,每个客户端已经有一个默认重试策略. 默认重试计数为 3,并且 只有可重试的错误才会被重试.
AWS 文档: 重试行为。 。 。 .
import { S3Client } from "@aws-sdk/client-s3";
const client = new S3Client({}); // default retry strategy included.
最大尝试
如果你想改变尝试的次数,你可以提供 maxAttempts 客户端创建时的配置 .
import { S3Client } from "@aws-sdk/client-s3";
const client = new S3Client({ maxAttempts: 4 });
建议这样做的原因是: StandardRetryStrategy 包括后退计算,
决定是否应该重试一个错误,以及重试一个符号计数器.
最大尝试和后置计算
如果您想要更改尝试次数并使用自定义延迟
计算,您可以使用 ConfiguredRetryStrategy 从 @aws-sdk/util-retry。 。 。 .
import { S3Client } from "@aws-sdk/client-s3";
import { ConfiguredRetryStrategy } from "@aws-sdk/util-retry";
const client = new S3Client({
retryStrategy: new ConfiguredRetryStrategy(
4, // max attempts.
(attempt: number) => 100 + attempt * 1000 // backoff function.
),
});
这个例子将后退设定为每次尝试100ms+1s.
最大尝试和重试策略
如果你同时提供 maxAttempts 财务报告和审定财务报表 retryStrategy,则 retryStrategy 将
获得优先,因为它更具体.
import { S3Client } from "@aws-sdk/client-s3";
import { ConfiguredRetryStrategy } from "@aws-sdk/util-retry";
const client = new S3Client({
maxAttempts: 2, // ignored.
retryStrategy: new ConfiguredRetryStrategy(
4, // used.
(attempt: number) => 100 + attempt * 1000 // backoff function.
),
});
进一步定制
您可以执行 RetryStrategyV2 接口.
https://github.com/aws/aws-sdk-js-v3/blob/main/packages/types/src/retry.ts