簡體   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