Azure 函数 - HTTP 触发器请求长度超出

问题描述 投票:0回答:2

我正在创建一个托管在 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 http post azure-functions limit
2个回答
2
投票

应用服务编辑器适合您吗?

但是,我认为这种做法是有风险的。 如果出现网络问题,您很容易会遇到超时。

我建议您将 CSV 上传到 Blob 存储中,并为您的函数创建一个 Blob 触发器。


0
投票

当然,将大文件传递到存储帐户是最佳实践。

不过,Azure 功能设置有一个配置键可以明确设置高于 100MB 的限制。

按键名称是

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

文档链接

查看此示例,了解如何将其包含在 local.settings.json 中:

Azure-示例/azure-functions-nodejs-stream

© www.soinside.com 2019 - 2024. All rights reserved.