繁体   English   中英

Azure function (out of process) HTTP Trigger Post request 数据限制

[英]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,请执行以下两个步骤:

  1. 使用以下 Azure CLI 命令将FUNCTIONS_EXTENSION_VERSION应用程序设置设置为~4

     az functionapp config appsettings set --settings FUNCTIONS_EXTENSION_VERSION=~4 -n <APP_NAME> -g <RESOURCE_GROUP_NAME>
  2. 对于 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM