DynamoDB Local创建12个GSI触发LSI属性超限错误,如何解决?
问题原因及解决方案
问题根源
DynamoDB Local 1.21.0版本存在一个已知逻辑bug:它会错误地将全局二级索引(GSI)的投影属性数量计入本地二级索引(LSI)的配额统计中。即便你完全没有创建LSI,旧版本模拟器仍会把所有GSI的投影属性加总后,与LSI的20个属性配额做对比,进而触发错误提示。
解决办法
- 优先升级DynamoDB Local版本:AWS后续发布的版本(如1.22.0及以上)已修复这个GSI/LSI投影计数混淆的问题,升级到最新稳定版即可解决该错误。
- 临时规避方案(无法升级时):
- 调整部分GSI的投影策略为
KEYS_ONLY,仅投影索引键和主键,减少被错误统计的属性总数 - 检查并合并重复的投影属性,尽量让所有GSI的投影属性加总不超过20个,适配旧版本的错误计数逻辑
- 调整部分GSI的投影策略为
- 代码配置自查:确认Java增强客户端生成的CreateTable请求中,没有意外添加LocalSecondaryIndex相关配置,避免因代码疏漏触发错误。
内容的提问来源于stack exchange,提问作者chrylis -cautiouslyoptimistic-
相关产品推荐
相关产品推荐

