如何通过Azure Data Factory执行长时间运行的Durable Azure Functions
解答
问题A:ADF调用Durable Function HTTP Starter的超时问题
调用Durable Function的HTTP Starter不会触发230秒超时限制。
这个230秒是Azure平台对同步处理类HTTP请求的默认最长等待阈值,仅适用于普通同步执行的HTTP触发器函数。而Durable Function的HTTP Starter仅负责接收ADF的请求、启动后台编排实例,整个启动过程通常仅需数百毫秒,启动完成后会立刻返回响应,不需要等待业务逻辑执行完毕,因此完全不会触及230秒的超时限制。
问题B:Durable Function与ADF的状态联动实现方案
Durable Function的HTTP Starter成功启动编排实例后,会默认返回标准结构的JSON响应,其中内置statusQueryGetUri字段,对应该编排实例的专属状态查询地址。
你可以按以下步骤实现状态查询:
- 在ADF的Azure Function活动中,配置解析该活动的输出结果,提取
statusQueryGetUri字段值存入ADF变量 - 新增Until循环活动,循环条件设置为查询返回的
runtimeStatus属于终止状态(Completed/Failed/Canceled三类) - 在Until循环内部添加Web活动,调用之前提取的
statusQueryGetUri地址,可根据业务处理时长自定义循环间隔,避免频繁调用 - 当编排执行完成后,你在Orchestrator函数中定义的返回结果也会同步包含在状态查询接口的返回值中,可直接提取供后续ADF活动使用。
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

