You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure构建代理池Invoke REST API审批检查60秒超时问题咨询

问题分析与解决办法

你的核心问题是:Azure DevOps的Invoke REST API任务本身有默认60秒的HTTP请求超时,这个超时和你设置的审批/检查整体1440分钟超时是独立的,所以即使改了整体超时,任务还是会在60秒后终止请求。下面是两种可行的解决方式:

方式一:直接延长任务的请求超时时间

在Invoke REST API任务的配置界面,找到高级选项卡,里面有「请求超时」(Request timeout)设置项,单位是秒。把这个值改成至少90秒(对应你的1.5分钟处理时间),或者预留冗余设置成120秒即可。

这个设置针对单次HTTP请求的超时,修改后任务会等待Lambda返回响应直到设定时间,不会再触发60秒超时错误。

方式二:异步处理+轮询(更可靠的长期方案)

如果后续EC2启动/代理连接时间可能波动,或担心长HTTP连接不稳定,可以拆分Lambda逻辑:

  • 第一个Lambda端点:仅负责启动EC2实例,不等待代理连接,立即返回唯一任务标识(比如实例ID或自定义任务ID),请求几秒内就能完成,完全避开超时问题。
  • 第二个Lambda端点:提供查询接口,根据传入的任务标识,返回EC2实例运行状态以及代理是否已成功连接到Azure DevOps。
  • 在Azure DevOps流水线中:
    1. 调用第一个Lambda端点,获取任务ID。
    2. 使用循环脚本(比如PowerShell/Bash)定期调用第二个Lambda端点,检查代理状态。
    3. 直到返回「代理就绪」状态后,再继续执行后续流水线步骤。

附你遇到的错误信息:

============================================================================== 
Task         : Invoke REST API
Description  : Invoke a REST API as a part of your pipeline.
Version      : 1.220.0
Author       : Microsoft Corporation
Help URL     : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/http-rest-api
============================================================================== 

                Parsing expression: <TaskInputs[TaskInputs['connectedServiceNameSelector']]>
                TaskInputs
                [
                ..TaskInputs
                ..[
                ....'connectedServiceNameSelector'
                ..]
                ]
                Evaluating: TaskInputs[TaskInputs['connectedServiceNameSelector']]
                Evaluating indexer:
                ..Evaluating TaskInputs:
                ..=> Object
                ..Evaluating indexer:
                ....Evaluating TaskInputs:
                ....=> Object
                ....Evaluating String:
                ....=> 'connectedServiceNameSelector'
                ..=> 'connectedServiceName'
                => 'ce006752-214c-44f5-9c56-c96be6a8cc3d'
                Result: 'ce006752-214c-44f5-9c56-c96be6a8cc3d'

2024-11-29T10:11:08.6501699Z GET https://XXX.lambda-url.eu-west-2.on.aws/
                Response Code: 0
                Response: An error was encountered while processing request. Exception: 
Exception Message: The request timed out after 60 seconds as no response was received. (type TimeoutException)
                Evaluation of expression 'eq(root['statuscode'], 200)' failed.
                
Exception Message: Error parsing API response into a JSON object. (type DistributedTaskException)

内容的提问来源于stack exchange,提问作者Tom McLean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:40:56