DynamoDB:使用 boto 处理节流

use*_*701 3 boto amazon-dynamodb

根据 DynamoDB 文档,如果使用支持的 SDK,会自动重试导致数据库限制的请求。但是,我找不到关于 boto 如何处理节流情况的任何提及。boto 是否会自动重试受限制的请求,还是应该开始捕获 ProvisionedThroughputExceededException?

gar*_*aat 5

Boto 会自动重试 ProvisionedThroughputExceededException 错误。boto.dynamodb.layer1 模块中有一个特殊的重试处理程序来处理这个问题。它使用更短的等待间隔并最多重试 10 次。之后,它会抛出DynamoDBThroughputExceededError异常。boto 库还跟踪throughput_exceeded_events在 Layer1 对象的属性中捕获的吞吐量超出错误的总数。

  • Layer1 类(或 DynamoDBConnection 类,如果您使用的是 dynamodb2 模块)上有一个类变量,称为 NumberRetries。默认为 10。您可以在代码中以编程方式更改该值。 (2认同)