【Azure 应用服务】调用Azure Function经常提示超时的分析

简介: 【Azure 应用服务】调用Azure Function经常提示超时的分析

问题描述

Azure Data Factory 通过 Pipeline 调用Azure Function Http Trigger时遇到返回错误” 500 - The request timed out.”

 

问题分析

通过Azure Function的高级工具(Kudu) 查看Function 返回500错误,原因是由于达到了230秒的响应请求的时间。230 秒是 HTTP 触发的函数在响应请求时需要的最长时间,这起因于 Azure 负载均衡器的默认空闲超时,在Azure平台中,这个超时时间是无法修改的。

 

出现请求执行230秒以及以上的时间,是因为函数中处理的业务遇见了大文件操作, 对于这种处理时间较长的情况,建议考虑使用 Durable Functions 异步模式 或 延迟实际工作并返回即时响应。

  • Durable Function的异步操作:可以满足长时间运行的操作,当客户端发生请求后触发启动业务流程协调程序,目标函数会返回Http 202,其中包含值为“statusQueryGetUri”的 Location 标头。客户端轮询 Location 标头中的 URL。 客户端会继续看到包含 Location 标头的 HTTP 202 响应。实例完成或失败后,Location 标头中的终结点返回 HTTP 200。

 

 

参考资料

函数应用超时:https://docs.azure.cn/zh-cn/azure-functions/functions-scale#function-app-timeout-duration

Durable Function异步模式:https://docs.azure.cn/zh-cn/azure-functions/durable/durable-functions-overview?tabs=csharp#pattern-3-async-http-apis

相关文章
|
18天前
【Azure Function】Azure Function中的Timer Trigger无法自动触发问题
【Azure Function】Azure Function中的Timer Trigger无法自动触发问题
|
18天前
【Azure Function & Application Insights】在Azure Function的日志中,发现DrainMode mode enabled Traces。它是什么意思呢?
【Azure Function & Application Insights】在Azure Function的日志中,发现DrainMode mode enabled Traces。它是什么意思呢?
|
18天前
|
缓存
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
|
18天前
|
Python
【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
|
18天前
|
C#
【Azure Function】Function App启动时出现 Failed to open local port 4001 错误,这是什么情况呢?
【Azure Function】Function App启动时出现 Failed to open local port 4001 错误,这是什么情况呢?
|
18天前
|
C# C++
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
|
18天前
【Azure Function & Application Insights】调用Function上传和下载文件,有时候遇见大于1MB的文件的日志没有记录在Application Insights中
【Azure Function & Application Insights】调用Function上传和下载文件,有时候遇见大于1MB的文件的日志没有记录在Application Insights中
|
18天前
|
API C++ Python
【Azure Function】示例运行 python durable function(model V2)
【Azure Function】示例运行 python durable function(model V2)
|
18天前
|
C++
【Azure Function App】在VS Code中,创建好Function App后部署到Azure中,无法选择Subscriptions
【Azure Function App】在VS Code中,创建好Function App后部署到Azure中,无法选择Subscriptions
|
18天前
|
安全 Oracle Java
【Azure Function】Azure Function中使用 Java 8 的安全性问题
【Azure Function】Azure Function中使用 Java 8 的安全性问题

热门文章

最新文章