Che*_*hak 2 amazon-web-services amazon-dynamodb aws-lambda
我有一个在指定时间限制写入请求的表。我想更多地了解 AWS-SDK 如何处理它们。
根据我目前的理解,DynamoDB 将向我的 Lambda 返回错误。这就是为什么我会在 DynamoDB 表指标中出现用户错误。但是,AWS-SDK 具有错误处理和重试策略,可以帮助我重试并将受限制的请求写回表中。这是对的吗?
每次您的应用程序发送超出您容量的请求时,您都会收到ProvisionedThroughputExceededException来自 Dynamo的消息。但是,您的 SDK 会为您处理并重试。默认 Dynamo 重试时间从 50ms 开始,默认重试次数为 10,默认退避为指数。
这意味着您可以在以下位置重试:
如果在第 10 次重试后您的请求仍未成功,SDK 会将其ProvisionedThroughputExceededException传回给您的应用程序,您可以按照自己的喜好进行处理。
请注意,您可以更改 SDK 的默认重试行为。例如
new AWS.DynamoDB({maxRetries: 13, retryDelayOptions: {base: 200}});
Run Code Online (Sandbox Code Playgroud)
这意味着您重试 13 次,初始延迟为 200 毫秒。这将使您的请求总共完成 819.2 秒而不是 25.6 秒。
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |