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

如何通过pipeline或Azure Apis将azure agent置为离线?有无其他编程方式?

Azure Agent离线状态标记的可实现方案

通过Azure Pipeline完成离线标记的操作流程

  • 权限前置校验:确保Pipeline使用的服务连接,具备目标Agent所在代理池的管理员操作权限,普通项目贡献者权限无法修改Agent的在线状态,会直接触发权限报错
  • 任务配置:在Pipeline流程中新增内联PowerShell或Bash任务,不需要额外维护独立的脚本仓库
  • 核心执行逻辑:任务运行时先通过代理池列表接口拉取目标Agent的唯一ID,再调用状态更新接口将Agent状态设置为离线,同时自定义状态备注,方便后续运维排查
  • 触发规则适配:如果是定期清理长期失联的僵尸Agent场景,可以配置定时cron触发Pipeline;如果是配合业务停机、Agent主机运维场景,可以绑定对应的运维操作前置事件触发流程

通过Azure API实现离线标记的操作方法

  • 身份准备:获取具备vsoagent-admin权限范围的Azure AD访问令牌,令牌所属账号需要被加入对应代理池的管理员组
  • 接口调用逻辑:使用PATCH请求调用Azure DevOps代理状态更新接口,请求路径需要依次传入当前DevOps组织名称、Agent所属的代理池ID、目标Agent的唯一标识ID
  • 请求体核心配置参考:
{
  "enabled": false,
  "status": "Offline",
  "statusMessage": "Automatically marked offline"
}
  • 结果校验:请求发送完成后,追加一次代理列表查询调用,核对返回的目标Agent状态字段,确认标记操作生效,避免网络超时导致的静默失败

其他可通过编程方式完成标记的补充途径

  • Azure CLI方式:安装Azure DevOps相关扩展后,直接执行az devops agent update命令,传入对应参数即可完成离线标记,适合轻量化的脚本操作场景,不需要手动拼装HTTP请求逻辑
  • 官方SDK集成方式:基于Azure DevOps提供的多语言SDK,在自定义运维平台中直接嵌入Agent状态管理能力,由SDK自动处理令牌刷新、请求重试等通用逻辑
  • Agent端主动上报方式:如果可直接访问Agent运行的主机,可以在主机上配置脚本,通过Agent本地的内置状态通道,主动向服务端推送离线状态,这种标记方式的状态一致性最高,不会出现服务端标记为离线但Agent实际仍在调度队列接任务的问题

内容的提问来源于stack exchange,提问作者Pritha Kundu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 06:15:05