SharedMap 中的 413(负载太大)错误

413 (Payload Too Large) error in SharedMap

当我使用 SharedMap 和 SharedObjectSequence 将 xml 文档转换为流体 DDS 并将其设置在流体容器中时,我收到错误 413(负载太大)。错误响应:

{"message":"request entity too large","expected":109452,"length":109452,"limit":102400,"type":"entity.too.large"}

我正在 https://github.com/microsoft/FluidHelloWorld 尝试这个。我正在使用 tinylicious 和本地主机。它适用于小型 xml 文件。我快速搜索了代码,但没有找到强制执行的位置。

是否可以提高这个限制?

您运行遇到 Web 服务器中的最大请求大小问题,而不是 Fluid Framework 问题。

如果您希望 Tinylicious 能够处理更大的请求大小,您可以克隆 Fluid Framework 存储库并修改 Express 服务的配置。

所以转到 tinylicious/src/app.ts 并添加 app.use(express.bodyParser({limit: '50mb'})); 这将提高请求限制。要使用修改后的 Tinylicious,您需要在本地编译和 运行 服务。

或者,您可以分解 XML 并将 XML 的部分设置为 DDS 的密钥。

在不了解您的情况的情况下,我倾向于分解 XML 的解决方案,因为它会导致较低的延迟更新。例如,当您阅读 XML 时,立即在共享对象序列中设置标签对,然后继续阅读并继续子对象。


您可能想在 repo 上打开一个问题,因为最大请求正文大小应该会导致更清晰的错误。该服务还应接受最大 Kafka 消息大小,这是真正的限制因素。