'Set customBackoff for AWS SDK JavaScript V3 retries

I just upgraded to AWS SDK V3 and I have no idea how to configure retryDelayOptions and customBackoff with it. I couldn't find any example code in AWS's own API reference or online. This is what I was doing previously:

retryDelayOptions: { customBackoff: (retryCount) => 2 ^ (retryCount * 100) },
maxRetries: 2

I was passing the above as options into the client constructor. The retries seems to have changed quite a bit with V3 and I cannot make sense of the API without any examples. Any help is much appreciated

Regards, Deepak



Solution 1:[1]

I think I figured it out

const { StandardRetryStrategy } = require("@aws-sdk/middleware-retry");

module.exports = (maxAttempts)  => 
    new StandardRetryStrategy(async () => maxAttempts, {
    // eslint-disable-next-line no-bitwise
        delayDecider: (delayBase, attempts) => 2 ^ (attempts * 100)
    })

and then you can pass this as retryStrategy

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Deepak Thankachan Mathews