【发布时间】:2017-07-16 18:27:35
【问题描述】:
我有一些 lambda 函数,它们正在用 python 编写多个 AWS Elastic beanstalk API 调用。它工作正常。但是从最近几天开始,我们遇到了节流错误。在与 AWS 讨论后,他们告诉在代码中添加指数回退逻辑。因此,如果它是节流阀,将在增量间隔重试相同的 API 调用。我知道他们在说什么以及它是如何工作的,但我不明白如何在我的代码中添加。他们有 CLI 的文档,但没有如下的 API,http://docs.aws.amazon.com/general/latest/gr/api-retries.html
谁能给我一个简单的例子,我们如何映射 API 调用的响应并重试,如果它像我在下面的代码中使用的一个 api 调用一样受到限制,
import boto3
conn = boto3.client('elasticbeanstalk')
response = conn.describe_environments(EnvironmentNames=["xyz"])
return response
我知道使用 if 条件执行此操作的简单方法,通过检查响应是否“超出速率”使用 while 我认为我可以实现这一点。但我想检查 CLI 示例中提供的内容,我该如何为 API 做类似的事情?
任何帮助将不胜感激!
【问题讨论】:
-
我很高兴看到没有一百万巨魔抱怨“建议”一词并引用 Stackoverflow 规则书...
标签: python api amazon-web-services amazon-elastic-beanstalk