我正在尝试更新一个项目,我需要在该项目上编辑大约 150 个不同的属性,但我收到了 Invalid UpdateExpression: Expression size has exceeded the maximum allowed size
.我猜是因为我的 UpdateExpression
字符串很长。 AWS docs say that the maximum length of an expression parameters is 4kb .
我将如何去调和这个错误?我想我可以将请求分解为多个,但这看起来很脏。
这里还有一些关于 Item
的其他问题。大小限制,但我没有找到有关 UpdateExpression
的任何信息限制。
解决方案:
我最终将请求限制为 50 个属性更新,以及 transactWrite
和 ConsistentRead
修复了我的问题。
最佳答案
您确实已达到 expression parameters 的限制.
从技术上讲,如果您构建另一个 PutItem,您可以解决这个问题。将替换之前存在的项目的请求。
通过执行任何写入(包括更新),您将需要等待结果传播到您的 DynamoDB 表使用的节点(因为最终一致性),或者在您尝试执行 GetItem、Query 或 Scan 请求时使用强一致性读取必须在写入后立即返回此项目。
关于amazon-web-services - DynamoDB 在更新期间返回 `Invalid UpdateExpression: Expression size has exceeded the maximum allowed size`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62843968/