我正在创建一个托管在 Azure 云上的小型 azure 函数 - HTTP 触发器。它的主要功能是简单地接收以 CSV 文件作为负载的 post 请求。
但是,有些发布的文件大于100mb,导致出现以下异常:
“执行函数时出现异常 -> 异常绑定参数“req” -> 已超出传入消息的最大消息大小配额 (104857600)。要增加配额,请在相应的绑定元素上使用 MaxReceivedMessageSize 属性。
我尝试用谷歌搜索我的方式并基于天蓝色函数文档 来自微软:“functions-bindings-http-webhook”
据说
HTTP 请求长度限制为 100 MB(104,857,600 字节),URL 长度限制为 4 KB(4,096 字节)。这些限制由运行时的 Web.config 文件的 httpRuntime 元素指定。
但是,我无法在我的解决方案中实际找到 Web.config,所以我认为这并不真正适用,或者我完全不在这里?
该项目是从 Visual Studio 生成的,具有以下相关依赖项和扩展:
Microsoft.Net.Sdk.Functions (1.0.24)
Azure Functions 和 Web 作业工具 (15.10.2046.0)
有什么方法可以增加接收请求的最大消息大小限制?
当然,将大文件传递到存储帐户是最佳实践。
不过,Azure 功能设置有一个配置键可以明确设置高于 100MB 的限制。
按键名称是
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
查看此示例,了解如何将其包含在 local.settings.json 中: