Azure Functions Python栈BadHttpRequestException请求体读取超时问题咨询
Python Azure Function App MinRequestBodyDataRate 配置方案
Python 语言栈的 Azure Function 底层由 ASP.NET Core 封装的 Azure Functions Host 承载运行,MinRequestBodyDataRate 属于宿主级配置,无法直接在 Python 函数代码中修改,可通过以下两种方式配置:
方式一:应用程序环境变量配置(全部署计划通用)
- 进入 Azure Portal 对应 Function App 的「配置」页面,切换到「应用程序设置」标签页,新增两条配置:
- 配置名:
FUNCTIONS_REQUEST_BODY_MIN_DATA_RATE_BYTES_PER_SECOND,值为自定义的最低请求体传输速率(默认值为240,单位:字节/秒,大请求场景可适当调低,例如设置为100) - 配置名:
FUNCTIONS_REQUEST_BODY_MIN_DATA_RATE_GRACE_PERIOD_SECONDS,值为自定义的宽限时间(默认值为5,单位:秒,大请求场景可适当调高,例如设置为30)
- 配置名:
- 保存配置后 Function App 会自动重启,配置即可生效
方式二:host.json 配置(要求 Functions Host 版本 ≥ 3.0.15379)
在 Python 项目根目录的 host.json 文件中新增 extensions.http 配置节点即可:
{ "version": "2.0", "extensions": { "http": { "minRequestBodyDataRate": { "bytesPerSecond": 100, "gracePeriod": "00:00:30" } } } }
注意:
gracePeriod取值需符合 .NET TimeSpan 格式,上述示例对应宽限时间为30秒
补充建议
如果调整参数后仍有报错,可优先排查客户端上行带宽稳定性,或请求链路上是否存在中间节点限流策略;超大负载场景建议优化为分块上传模式,降低单次请求的传输压力。
内容的提问来源于stack exchange,提问作者Murugesh
相关产品推荐
相关产品推荐

