![](/img/trans.png)
[英]How to parse Multi-part form data in an Azure Function App with HTTP Trigger? (NodeJS)
[英]Azure function (out of process) HTTP Trigger Post request Data limitation
这是 Azure 函数 4x(进程外)的问题
我正在尝试使用 HTTP 触发器将超过 4 MB(4096 字节)的数据发布到 Azure function。
超时了。 以下是我在 Azure function 中的代码
[Function("HttpTriggerCSharp")]
public async Task<HttpResponseData> HttpTriggerCSharp(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req,
FunctionContext executionContext)
{
HttpResponseData response = HttpResponseData.CreateResponse(req);
string requestBody = String.Empty;
using (StreamReader streamReader = new StreamReader(req.Body))
{
requestBody = await streamReader.ReadToEndAsync();
}
return response;
}
我使用 Postman 作为具有以下配置的客户端:
Postman配置
4 MB的测试文件
我检查了 Microsoft 文档https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp
它指的是 100 MB 的限制。 请让我知道,我在做什么错误?
上述功能适用于 Azure 进程中函数 (3x)。
Azure Function v4 处于预览模式,未完全支持和批准用于生产。 此外,它仅支持最新版本的 .NET、Javascript 和 Java。查看此语言支持以获取更多信息。
我们无法直接从 Azure Function 3.x 迁移到 4.x,因为可能需要更改其他应用程序设置并更改您的 function 代码。
检查此以获取更多信息如何定位 Azure 函数运行时版本。
要解决此问题,请尝试将 function 应用程序从 3.x 迁移到 4.x。 要将 function 从 3.x 迁移到 4.x,请执行以下两个步骤:
使用以下 Azure CLI 命令将FUNCTIONS_EXTENSION_VERSION
应用程序设置设置为~4
:
az functionapp config appsettings set --settings FUNCTIONS_EXTENSION_VERSION=~4 -n <APP_NAME> -g <RESOURCE_GROUP_NAME>
对于 Windows function 应用程序,运行时需要使用以下 Azure CLI 命令启用 .NET 6.0:
az functionapp config set -.net-framework-version v6.0 -n <APP_NAME> -g <RESOURCE_GROUP_NAME>
请注意,Azure Functions 4.x 强制执行扩展的最低版本要求。 Azure Functions 4.x 要求Microsoft.NET.Sdk.Functions
扩展至少为4.0.0
。
无论 function 应用程序超时设置如何,230 秒是 HTTP 触发 function 响应请求所需的最长时间。 如果超过此值,则会出现超时错误。
查看此Function 应用超时持续时间文档以获取更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.