Azure Data Factory中Web Activity无限运行问题求助
我之前碰到过类似的问题,给你几个实用的排查方向,一步步来定位问题:
检查集成运行时(IR)的网络与状态
你用的是AutoResolveIntegrationRuntime,首先确认Data Factory所在区域的托管IR是否能正常出站访问目标URL。可以通过Azure服务健康面板查看该区域的Data Factory服务是否有临时故障;另外,排查是否有订阅级别的防火墙、NSG规则或者企业网络策略限制了托管IR的出站流量。缩短超时时间获取明确错误
当前你的Web Activity超时设置是7小时,太长的超时会导致请求一直挂着而没有错误反馈。建议先把timeout调整为较短的时间,比如10分钟:"policy": { "timeout": "00:10:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }这样如果请求真的有问题,会触发超时错误,能得到更具体的失败信息。
开启详细诊断日志
打开Data Factory的诊断设置,将Web Activity的日志级别设置为Verbose,这样可以捕获请求从发起、连接到响应的完整过程日志,帮助你判断是卡在了连接阶段还是等待响应阶段。同时可以给Web Activity添加自定义User Properties,记录请求的关键标识,方便后续筛选日志。测试不同的目标URL和请求方式
先换一个简单的公共API测试,比如https://httpbin.org/get,如果这个请求能正常完成,说明问题可能出在目标网站(比如微软官网的响应缓慢、反爬机制拦截了IR的请求)。另外可以尝试POST一个简单的body,对比GET请求的行为差异。添加自定义请求头部
有时候托管IR的默认请求头部可能会被目标网站拦截,你可以手动添加浏览器风格的请求头,比如:"typeProperties": { "url": "https://www.microsoft.com/", "connectVia": { "referenceName": "AutoResolveIntegrationRuntime", "type": "IntegrationRuntimeReference" }, "method": "GET", "headers": { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" }, "body": "" }模拟浏览器请求,看看是否能正常获取响应。
尝试切换到自托管集成运行时
如果以上方法都没效果,可以临时部署一个自托管IR到能正常访问外网的本地机器上,将Web Activity的connectVia指向这个自托管IR。如果请求能正常完成,说明问题出在托管IR的网络环境上,可以联系Azure支持进一步排查。
内容的提问来源于stack exchange,提问作者Sven

