修改运行中实例

最近更新时间:2026-06-03 09:09:00

我的收藏
说明:
运行中的实例支持原地调整 timeout 和补充 metadata。如果您需要更换模板、镜像、认证方式、挂载、资源规格、网络访问策略或自动暂停、自动恢复配置,请重新创建实例。

适用场景

当您需要延长或缩短运行中实例的可用时长,或补充实例标签和业务备注信息,但不希望重建实例时,可使用以下操作。
修改 timeout 只会影响实例的可用时长,不会改变 CPU、内存、磁盘、网络或挂载配置。
更新 metadata 只会修改实例附带的键值信息,不会触发实例重建。
环境变量的修改不在 agr instance update 的参数范围内,请参见 环境变量调整说明

前提条件

已安装 agr CLI,并已完成云端认证配置。
已获取目标实例 ID。
目标实例处于 RUNNING 状态。
如果实例为 Persistent=true,不支持修改 timeout
建议先执行以下命令,确认 CLI 可用且当前环境已完成认证:
agr version
agr status -o json --non-interactive
agr instance list --limit 1 -o json --non-interactive
预期结果如下:
agr version 能返回 CLI 版本和 commit 信息。
agr status -o json --non-interactive 返回 Status: succeeded。如果当前环境已完成云端认证,Data.Auth.SecretId.PresentData.Auth.SecretKey.Present 都应为 true;否则请先完成 CLI 认证配置。
agr instance list --limit 1 -o json --non-interactive 返回 Status: succeeded。如果当前账号下已有实例,返回体中的 Data.Items 会包含实例摘要。

查询实例当前状态

执行以下命令,确认实例处于运行中,并记录当前超时时间和 metadata
agr instance get <instance-id> -o json --non-interactive
返回结果中确认以下关键字段:
顶层 Statussucceeded
Data.InstanceId 与目标实例 ID 一致。
Data.StatusRUNNING
Data.ToolIdData.ToolNameData.TimeoutSecondsData.ExpiresAtData.UpdateTime 等字段可正常返回。
示例输出:
{
"SchemaVersion": "agr.v1",
"Command": "instance.get",
"Status": "succeeded",
"Data": {
"InstanceId": "ins-7f3c2d1a9b6e4c5f",
"Status": "RUNNING",
"ToolId": "sdt-demo1234",
"ToolName": "python-runner",
"TimeoutSeconds": 1800,
"ExpiresAt": "2026-05-23T15:30:00+08:00",
"Metadata": {
"owner": "alice",
"purpose": "debug"
},
"UpdateTime": "2026-05-23T15:00:12+08:00"
},
"Failure": null,
"Warnings": []
}

修改实例超时时间

执行以下命令,调整运行中实例的 timeout
agr instance update <instance-id> --timeout 30m -o json
使用 timeout 时请注意以下约束:
约束项
说明
取值与格式
timeout 使用 duration 字符串,例如 300s30m1h。格式错误或超出允许范围时,会返回错误码 InvalidParameterValue.Timeout
运行状态
RUNNING 状态的实例支持原地更新 timeout
Persistent 实例
Persistent=true 的实例不支持修改 timeout
更新后,再次执行查询命令确认结果:
agr instance get <instance-id> -o json --non-interactive
确认以下字段已更新:
Data.Status 仍为 RUNNING
Data.TimeoutSeconds 已更新为新的超时时长。
对非 Persistent 实例,Data.ExpiresAt 晚于修改前的值。
如果新的 timeout 不符合预期,请再次写入期望值:
agr instance update <instance-id> --timeout 10m -o json

更新实例 metadata

如果您需要补充实例标签或业务备注,可以执行以下命令:
agr instance update <instance-id> \\
--metadata '[{"Name":"owner","Value":"alice"},{"Name":"purpose","Value":"debug"}]' \\
-o json
更新后,再次执行查询命令确认结果:
agr instance get <instance-id> -o json --non-interactive
确认以下字段已更新:
Data.Status 仍为 RUNNING
Data.Metadata.ownerData.Metadata.purpose 已显示为新值。
Data.UpdateTime 晚于修改前的值。
如果您写入了错误的键值,请整理出目标实例需要保留的完整 metadata 列表后再次提交。agr instance update --metadata 会用本次请求中的 metadata 全量替换实例当前的 metadata

环境变量调整说明

agr instance update 仅支持修改 timeoutmetadata,不提供环境变量更新参数。
如果您的业务依赖环境变量变更,建议在创建实例时完成环境变量配置。如需修改已运行实例的环境变量,请通过对应兼容入口处理,并结合实例详情查询确认配置是否生效。具体入口、鉴权方式和请求格式请以相关兼容接口文档或平台正式发布说明为准。

相关操作