过多的TableStatus在dynamodb中等待

时间:2013-08-27 07:56:58

标签: amazon-web-services amazon-dynamodb

我的dynamodb中有200多张表。由于我的所有表都已定义localSecondaryIndexes,因此我必须确保在CREATING调用时没有表格处于CreateTable()状态。

在添加新表时,我列出所有表并遍历其名称,逐个触发describeTable()个调用。在返回的数据上,我检查TableStatus密钥。每次describeTable()通话都需要一秒钟。这意味着在创建每个表之前平均等待3分钟。因此,如果我必须创建50个新表,那么我需要大约4个小时。

我如何优化此功能?我认为BatchGetItem()调用可以处理表中的内容,而不是表元数据。我可以进行批量describeTable()来电吗?

1 个答案:

答案 0 :(得分:1)

等到你创建的最后一个表变为ACTIVE就足够了。在最后创建的表上以几秒的间隔运行DescribeTable。