首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaScript AWS 3处理节流?

如何使用JavaScript AWS 3处理节流?
EN

Stack Overflow用户
提问于 2021-04-06 13:18:00
回答 1查看 944关注 0票数 2

我在一个基于节点的服务器中使用来自AWS的@aws-sdk/client-iam SDK作为JavaScript。我们正在使用GetGroupCommand

如果我们调用上面的命令AWS会抛出Throttling错误,并且有一个字段error?.$metadata?.totalRetryDelay,它会告诉我们要重试请求多少毫秒之后。

基于这个尝试错误,我们修改了对睡眠的调用一定时间,但是当调用太多时,它们都会在睡眠后重试,导致AWS服务器再次泛滥&抛出Throttling错误。

我找不到AWS 3的任何指南/参考,解释在什么条件下它可能抛出Throttling错误。

有中间件https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_middleware_retry.html --我想这是我们可以使用的东西,但不确定如何使用。此示例或AWS 3的throttling最佳实践示例在github或SDK指南中没有提到。

您能告诉我如何在AWS 3中为JS处理这个Throttling问题吗?

以下没有任何关于节流的有用信息,

SDK参考资料: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html

开发人员指南: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html

代码示例: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/sdk-code-samples.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 13:30:55

如果nodejs程序没有向API发送多个并发请求,那么totalRetryDelay值将对您非常有用。它告诉您在向发送多一个请求之前需要等待多长时间,而不是再发送10或50个请求。

解决问题的方法可能是将您的请求放入某种内部队列中,每次发送一个,其间延迟很短。

或者,如果您知道发送了多少并发请求,则可以尝试将totalRetryDelay乘以该数字并延迟那么多时间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66969435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档