destroy 命令用于从华为云 AgentArts 平台删除 Agent 及其相关资源。该命令会永久删除 Agent 实例、配置信息和相关资源,执行前会提示确认,防止误操作。
警告: 此操作不可逆,删除后无法恢复 Agent 数据和配置。
| 参数 | 简写 | 说明 | 默认值 |
|---|---|---|---|
--agent |
-a |
Agent 名称 | 使用默认 Agent |
--region |
-r |
华为云区域 | 从配置文件读取 |
--yes |
-y |
跳过确认提示 | false |
执行 destroy 命令会依次执行以下步骤:
- 验证 Agent 名称
- 确认区域配置
- 检查 Agent 是否存在
- 显示即将删除的 Agent 信息
- 提示用户确认操作
- 可通过
--yes参数跳过
- 停止 Agent 运行实例
- 删除 Agent 配置
- 清理相关资源
- 确认 Agent 已删除
- 返回操作结果
Destroy Agent
Agent: my-agent
Region: cn-southwest-2
Warning: This will permanently delete agent 'my-agent'
Are you sure you want to continue? [y/n]: y
Destroying agent...
✓ Agent 'my-agent' destroyed successfully
Destroy Agent
Agent: my-agent
Region: cn-southwest-2
Destroying agent...
✓ Agent 'my-agent' destroyed successfully
Destroy Agent
Agent: my-agent
Region: cn-southwest-2
Error: Agent 'my-agent' not found
agentarts destroy执行后会提示确认,输入 y 确认删除。
agentarts destroy --agent my-agent或使用简写:
agentarts destroy -a my-agentagentarts destroy --agent my-agent --region cn-southwest-2或使用简写:
agentarts destroy -a my-agent -r cn-southwest-2agentarts destroy --agent my-agent --yes或使用简写:
agentarts destroy -a my-agent -yagentarts destroy \
--agent my-agent \
--region cn-southwest-2 \
--yes#!/bin/bash
# 批量删除多个 Agent
agents=("agent1" "agent2" "agent3")
for agent in "${agents[@]}"; do
echo "Destroying $agent..."
agentarts destroy -a "$agent" -y
done执行 destroy 命令会删除以下资源:
| 资源类型 | 说明 |
|---|---|
| Agent 实例 | Agent 运行实例和配置 |
| 访问端点 | Agent 的 HTTP 访问端点 |
| 配置信息 | Agent 的运行时配置 |
| 日志数据 | Agent 运行日志(保留期限后删除) |
| 资源类型 | 说明 |
|---|---|
| Docker 镜像 | SWR 中的镜像仍保留 |
| 本地配置 | 本地 .agentarts_config.yaml 文件 |
| 源代码 | 本地项目代码 |
在执行 destroy 命令前,建议检查以下事项:
# 查看 Agent 详情
agentarts config get -a my-agent
# 检查 Agent 状态
agentarts status -a my-agent# 导出配置
agentarts config get -a my-agent > my-agent-config.yaml
# 保存重要日志
# (根据实际情况操作)- 通知使用该 Agent 的用户
- 更新相关文档和配置
- 记录删除原因和时间
- 确认没有其他服务依赖该 Agent
- 检查是否有正在进行的任务
- 确认删除不会影响生产环境
建议保留确认提示,避免误删:
# 推荐:保留确认提示
agentarts destroy -a my-agent
# 不推荐:跳过确认(仅用于自动化脚本)
agentarts destroy -a my-agent -y- 限制
destroy命令的执行权限 - 在生产环境使用审批流程
- 记录删除操作日志
- 明确区分开发和生产环境
- 生产环境删除需要额外确认
- 使用不同的 Agent 命名规范
原因: Agent 正在使用或权限不足
解决方案:
- 确认 Agent 没有正在执行的任务
- 检查 AK/SK 权限
- 查看错误日志获取详细信息
原因: 操作失误删除了 Agent
解决方案:
- 无法直接恢复,需要重新部署
- 使用本地配置重新创建 Agent
- 重新部署 Docker 镜像
原因: 想了解镜像资源是否被删除
解决方案:
destroy命令不会删除 SWR 镜像- 镜像仍可用于重新部署
- 如需删除镜像,请手动操作
原因: 担心本地配置丢失
解决方案:
destroy命令不影响本地文件.agentarts_config.yaml保持不变- 可继续使用配置重新部署
原因: 需要批量清理测试 Agent
解决方案: 使用脚本批量删除:
#!/bin/bash
# 列出所有 Agent
agents=$(agentarts config list | grep -oP '(?<=- )[a-zA-Z0-9-]+')
# 批量删除
for agent in $agents; do
echo "Destroying $agent..."
agentarts destroy -a "$agent" -y
done删除前检查状态:
# 检查状态
agentarts status -a my-agent
# 确认后删除
agentarts destroy -a my-agent删除后清理配置:
# 删除云端 Agent
agentarts destroy -a my-agent
# 删除本地配置
agentarts config remove my-agent重新部署流程:
# 删除旧版本
agentarts destroy -a my-agent -y
# 重新部署
agentarts deploy -a my-agent在 CI/CD 流程中清理测试 Agent:
# .gitlab-ci.yml
cleanup:
stage: cleanup
script:
- agentarts destroy -a test-agent -y
when: always定期清理测试环境 Agent:
# crontab 配置
0 2 * * * /path/to/cleanup-agents.sh#!/bin/bash
# cleanup-agents.sh
# 删除所有测试 Agent
test_agents=$(agentarts config list | grep "test-" | cut -d' ' -f2)
for agent in $test_agents; do
agentarts destroy -a "$agent" -y
done- 不可逆操作: 删除后无法恢复,请谨慎操作
- 确认提示: 建议保留确认提示,避免误删
- 权限要求: 需要足够的华为云权限
- 资源清理: 删除前确认没有正在执行的任务
- 数据备份: 重要数据请提前备份
- 通知用户: 删除前通知相关用户
- 日志记录: 记录删除操作,便于审计
- 镜像保留: 删除 Agent 不会删除 SWR 镜像
- 配置保留: 本地配置文件不受影响
- 重新部署: 可使用现有镜像和配置重新部署