当前位置: 首页 > 知识库问答 >
问题:

Azure 函数(进程外) HTTP 触发器 发布请求 数据限制

严信瑞
2023-03-14

这是Azure函数4x的问题(进程外)

我试图使用HTTP触发器将超过4MB(4096字节)的数据发布到Azure函数。

它超时了。下面是我在Azure函数中的代码

[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作为客户端,配置如下:

邮差配置

4 MB的测试文件

我查了微软的文档https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp

它指的是100 MB限制。请让我知道,我犯了什么错误?

上述功能适用于进程中的Azure函数(3x)。

共有1个答案

姬俊能
2023-03-14

Azure 函数 v4 处于预览模式,未完全支持和批准用于生产用途。此外,它只支持最新版本的.NET,Javascript和Java。有关详细信息,请查看此语言支持。

我们无法直接从Azure Function 3.x迁移到4.x,因为可能需要其他应用程序设置更改和功能代码更改。

有关如何定位Azure Functions运行时版本的更多信息,请查看此处。

要解决此问题,请尝试将函数应用从3. x迁移到4. x。要将函数从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函数应用程序,运行时需要。使用以下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

    无论函数应用程序超时设置如何,230秒是HTTP触发函数响应请求所需的最大时间。如果超过此值,则会出现超时错误。

    有关详细信息,请查看此函数应用超时持续时间文档。

  •  类似资料:
    • 我对azure非常陌生,正在努力处理eventGrid中的python函数触发器。我正在使用从azure为python创建的现成模板,并出现错误。我将共享这些文件。 (init.py) function.json 主机. json 这是我发送给事件网格的数据集 我得到的错误是 也许在上面的某个地方很容易出错,但我找不到。。 提前感谢!

    • 我们有一个将文件复制到Azure文件服务器的外部源。文件大小约为10GB。我想在Azure文件服务器上使用Azure Data Factory完成文件复制后,立即将此文件复制到Azure Blob存储。供应商无法将此文件复制到Blob容器。有人能帮我配置什么类型的触发器吗。我可以手动复制,但我正在寻找是否可以实现自动化。我甚至不能安排这个活动,因为来自外部源的文件副本是随机的。 谢谢

    • 因此function.json如下所示: javascript中的http触发器在函数中的作用如下:,但是绑定到输入会导致错误,“property not defined”,那么如何在同一个函数中使用http触发器输入从json数据包中获取一个值来查询第一个输入中的cosmos db呢?

    • 我有一个blob触发器Azure函数,每次将新文件添加到我的blob存储时都会调用该函数。我自动获取该文件的名称作为输入。除了名称之外,我还需要附加到给定文件的元数据。我一直在研究数据输入绑定,但我无法理解它。我需要做些什么才能将文件元数据作为输入?或者,甚至只是在我的函数中访问它?

    • 我在Visual Studio中创建了一个简单的blob触发器,init.py如下 function.json如下 local.settings。json如下所示 此代码在本地计算机上的visual studio中运行良好。但在azure portal上发布时,它无法从函数中读取blob路径。json并给出错误为 我已经使用命令发布了local.settings.json的contains。 .有

    • 我是Azure Function应用程序中blob触发器的新手,需要一些帮助。我正在努力寻找有关如何重命名触发该函数的blob的资源。 我有一个函数应用程序,当一个新的blob被上传到容器时触发,文件被处理,我需要一种方法来将其“标记”为已处理,因此我想重命名blob。 这是我的职责: 我该如何重命名该文件?在这种情况下有可能吗?