1

我正在使用 AWS API 来调用 AWS Step Functions。但是,您可以调用的函数数量是有限的。

根据 AWS Step Function 限制,某些 Step Functions API 操作使用令牌桶方案进行限制,以维持服务带宽。

例如,StartExecution()桶大小为 100,再填充率为 2/秒。

那么,有没有办法监控存储桶中的可用插槽?

我查看了 AWS python API,它被称为boto3,似乎没有办法获取此信息。但我不确定。

多余的电话会发生什么,他们在排队吗?或只是丢弃?

4

1 回答 1

2

他们因错误而被拒绝。由于这是一种保护性控制,排队是没有意义的,仅仅丢弃过多的请求也不是一个合理的设计实践。

节流

由于请求限制,请求被拒绝。

HTTP 状态码:400

http://docs.aws.amazon.com/step-functions/latest/apireference/CommonErrors.html

您应该能够简单地休眠并重试错误,并具有指数退避。以最简单的形式,这意味着您睡眠 1 秒并重试,然后是 2、4、8 等等。更好的是,为每个增量添加一个额外的随机间隔,所以 sleep 1 + rand(1) 然后 2 + rand (1)或沿着这些路线的一些变化。

于 2017-03-07T04:04:42.123 回答