我的dynamodb中有200多张表。由于我的所有表都已定义localSecondaryIndexes
,因此我必须确保在CREATING
调用时没有表格处于CreateTable()
状态。
在添加新表时,我列出所有表并遍历其名称,逐个触发describeTable()
个调用。在返回的数据上,我检查TableStatus
密钥。每次describeTable()
通话都需要一秒钟。这意味着在创建每个表之前平均等待3分钟。因此,如果我必须创建50个新表,那么我需要大约4个小时。
我如何优化此功能?我认为BatchGetItem()
调用可以处理表表中的内容,而不是表元数据。我可以进行批量describeTable()
来电吗?
答案 0 :(得分:1)
等到你创建的最后一个表变为ACTIVE就足够了。在最后创建的表上以几秒的间隔运行DescribeTable。