【Azure APIM】APIM在上传文件的时候,请求的Payload是否有文件大小的限制呢?

简介: 在APIM+App Service架构中,文件上传超过20MB报500错误,实测非APIM限制所致。APIM本身无文件大小限制,但默认请求超时约300秒,大文件上传可能超时。问题根源常为App Service的Kestrel配置限制,如MaxRequestBodySize等,默认值较低需手动调大。通过对接Storage Account验证,可成功上传500MB以上文件,证实APIM具备大文件处理能力。建议优化后端服务配置并调整超时设置以支持大文件上传。

问题描述

使用APIM + App Service的架构对外提供服务,其中一个接口为文件上传。在测试的时候,发现上传超过20MB的内容时候就会遇见报错,而不使用APIM时,通过直接访问App Service的上传文件接口(>50MB)也不会遇见这个问题。

 

## APIM返回的错误信息为500: Internal Server error

## APIM 执行超时

那么,APIM是否会有对上传文件的大小限制呢?

 

问题解答

查看官网文档( API Management 资源限制: https://docs.azure.cn/zh-cn/azure-resource-manager/management/azure-subscription-service-limits?toc=%2Fapi-management%2Ftoc.json&bc=%2Fapi-management%2Fbreadcrumb%2Ftoc.json#azure-api-management-limits ) , 上传文件的大小是没有限制的。

所以,以上的测试中,出现大于20MB后久无法完成文件上传的问题,根源可能是与后端服务 App Service的配置或处理能力相关。

  • App Service 有时在上传超过 14MB 的文件时, 会返回 500 或 502 错误,尤其是在 multipart/form-data 上传场景中。
  • App Service 的 Kestrel 服务器默认的 MaxRequestBodySize 和 MultipartBodyLengthLimit 可能需要手动配置为更大的值,例如 200MB 或更高。

为了验证不是APIM本身对上传文件的大小限制,把后端服务修改为Storage Account来进行验证。最后证明APIM对上传文件的大小是没有限制的。

随后测试,发现可以上传大于500MB的文件,在59s就可以上传到Storage Account中。

【完】

 

注意:虽然APIM对文件上传的大小并没有限制,但由于APIM对请求的超时时间默认是300秒左右,所以如果上传的文件太大就会遇见超时报错。

 

参考资料

Azure API 管理限制 : https://docs.azure.cn/zh-cn/azure-resource-manager/management/azure-subscription-service-limits?toc=%2Fapi-management%2Ftoc.json&bc=%2Fapi-management%2Fbreadcrumb%2Ftoc.json#azure-api-management-limits

 

 


 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
7月前
|
人工智能 JavaScript Linux
立即吃上AI龙虾!OpenClaw 1分钟阿里云上/本地部署+MiniMax/Claude/百炼免费模型配置解析
本文详细介绍了2026年OpenClaw在阿里云轻量服务器与本地多系统的部署流程,以及MiniMax、Claude、阿里云百炼三大免费模型的配置方法,针对新手常见问题提供了避坑指南与解决方案。通过阿里云部署可实现7×24小时稳定运行,本地部署则兼顾隐私与灵活性,用户可根据自身需求选择合适方案。后续可进一步探索OpenClaw的技能市场、任务调度等高级功能,打造专属AI助理,提升工作效率。
1432 0
|
12月前
|
安全
UUID 与 MD5 重复概率深度分析
UUID与MD5均生成128位值,理论碰撞概率相同。但UUIDv4基于随机生成,实际重复概率极低,适合唯一标识;MD5依赖输入数据,存在已知安全漏洞,碰撞风险更高,不推荐用于安全敏感场景。
|
5月前
|
运维 Linux Docker
Docker部署Hermes Agent完整教程:Windows与Linux全平台通用指南
Hermes Agent是由Nous Research推出的开源自主AI智能体,具备任务规划、代码生成、终端操作、浏览器自动化、文件管理、脚本执行等能力,可广泛用于开发辅助、自动化运维、数据处理、流程自动化等场景。为了简化环境配置、提升跨平台兼容性、保证运行隔离性,使用Docker部署是目前最稳定、最通用的方式。本文提供Windows与Linux全平台统一的Docker部署方案,包含Docker一键安装、镜像加速、镜像拉取、数据持久化、初始化配置、启动运行与常用管理命令,新手可直接跟着步骤完成部署。
1890 8
|
11月前
|
机器学习/深度学习 监控 数据挖掘
基于YOLOv8的牛行为检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目通过 YOLOv8 模型与 PyQt5 界面结合,实现了牛行为的高效识别与分类。5000张高质量标注数据保证了模型的准确性,多样化场景增强了泛化能力。系统简单易用,支持图片、视频、摄像头多种输入方式,为智能养殖和畜牧管理提供了高效工具。无论是科研实验还是实际牧场监控,本项目都可快速部署,开箱即用。
基于YOLOv8的牛行为检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
存储 缓存 Java
更快、更灵活、场景更丰富,云效镜像构建能力升级啦
本文介绍了云效在镜像构建方面的改进。
1143 38
|
编解码 文字识别 自然语言处理
Dots.ocr:告别复杂多模块架构,1.7B参数单一模型统一处理所有OCR任务22
Dots.ocr 是一款仅1.7B参数的视觉语言模型,正在重塑文档处理技术。它将布局检测、文本识别、阅读顺序理解和数学公式解析等任务统一于单一架构,突破传统OCR多模块流水线的限制。在多项基准测试中,其表现超越大参数模型,展现出“小而精”的实用价值,标志着OCR技术向高效、统一、灵活方向演进。
1124 0
Dots.ocr:告别复杂多模块架构,1.7B参数单一模型统一处理所有OCR任务22
|
机器学习/深度学习 编解码 人工智能
Vision Mamba:将Mamba应用于计算机视觉任务的新模型
Mamba是LLM的一种新架构,与Transformers等传统模型相比,它能够更有效地处理长序列。就像VIT一样现在已经有人将他应用到了计算机视觉领域,让我们来看看最近的这篇论文“Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Models,”
1609 7
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
存储 数据挖掘 虚拟化
vsan数据恢复—vsan缓存盘故障导致虚拟机磁盘文件丢失的数据恢复案例
VMware vsan架构采用2+1模式。每台设备只有一个磁盘组(7+1),缓存盘的大小为240GB,容量盘的大小为1.2TB。 由于其中一台主机(0号组设备)的缓存盘出现故障,导致VMware虚拟化环境中搭建的2台虚拟机的磁盘文件(vmdk)丢失。