0

我们正在使用 SAS url (REST API) 和 HTTPS PUT 方法在 Azure 文件存储上调用写入操作(根据 Azure 技术名称进行范围操作)。我们成功地执行了这个操作,并将任何小于 4MB 的数据写入文件。如果数据超过 4 MB,Azure 文件存储将返回以下错误响应。

我们确实使用 MuleSoft 和 Postman 应用程序来执行此操作。错误响应在所有应用程序中都是相同的。

错误代码:RequestBodyTooLarge 消息:请求正文太大,超出最大允许限制。请求 ID:2bbfe0e9-001a-0050-0291-87df64000000 最大限制:4194304

任何人都可以帮助或通过一些光线来了解问题和解决方案。

4

1 回答 1

1

错误代码:RequestBodyTooLarge 消息:请求正文太大,超出最大允许限制。请求 ID:2bbfe0e9-001a-0050-0291-87df64000000 最大限制:4194304

正如官方PUT Range关于Range 或 x-ms-range所述:

对于更新操作,范围最大为 4 MB。为了进行清晰的操作,范围可以达到文件完整大小的值。

使用 Update 选项调用 Put Range 将对指定文件执行就地写入。指定范围内的任何内容都会被更新覆盖。使用 Put Range 提交的每个更新操作范围的大小最多可达 4 MB。如果您尝试上传大于 4 MB 的范围,服务将返回状态代码 413(请求实体太大)。

这是我的测试,你可以参考一下:

根据我的理解,如果范围大于 4MB,我假设您需要将数据分成缓冲区(最大 4MB 大小),然后您可以调用PUT RangeRest API 以按顺序更新特定范围的数据或在平行下。

于 2017-02-17T08:41:13.913 回答