尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

使用 AWS CLI 的 `batch-delete-builds` 批量删除 AWS CodeBuild 构建记录

发布时间:2026/9/15 12:45:40

资讯中心
01
ARTICLE

使用 AWS CLI 的 `batch-delete-builds` 批量删除 AWS CodeBuild 构建记录

使用 AWS CLI 的 `batch-delete-builds` 批量删除 AWS CodeBuild 构建记录
使用 AWS CLI 的batch-delete-builds批量删除 AWS CodeBuild 构建记录【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli本指南围绕 AWS CLI 的codebuild batch-delete-builds命令讲解如何一次删除多个 AWS CodeBuild 构建记录先说明命令语法与必填参数--ids再给出可直接运行的示例与输出解析并结合仓库中的 AWS CodeBuild API 模型定义service-2.json剖析buildsDeleted、buildsNotDeleted两个返回字段的含义与底层数据结构最后补充获取构建 ID 的配套命令与常见异常处理。读完本文你将掌握批量清理 CodeBuild 构建记录的标准流程并能准确解读部分删除失败场景的返回结果。一、命令概览用一条命令清理多个构建AWS CodeBuild 的每次构建都会产生一条构建记录包含构建日志、产物与元数据。随着迭代进行历史构建记录会不断累积aws codebuild batch-delete-builds正是用于批量删除构建记录的运维命令其对应的 API 操作为BatchDeleteBuilds在仓库的 AWS CodeBuild API 模型文件 service-2.json 中定义apiVersion 为2016-10-06。从 API 模型可以看到该操作的关键特性属性定义值请求方法POST请求路径/协议JSONjsonVersion1.1输入参数ids必填可能错误InvalidInputException命令基本语法如下aws codebuild batch-delete-builds --ids build-id-1 build-id-2 ...官方示例文档位于 awscli/examples/codebuild/batch-delete-builds.rst本文后续示例即基于该文档展开。二、核心参数--ids必填的构建 ID 列表--ids是batch-delete-builds唯一的输入参数用于指定要删除的构建 ID 列表。根据 service-2.json 中BatchDeleteBuildsInput的定义该参数必填required:[ids]类型为BuildIds是一个列表最少 1 个、最多 100 个元素min:1、max:100每个元素为非空字符串NonEmptyString即单个构建的 ID。构建 ID 的格式CodeBuild 构建 ID 由项目名 冒号 构建唯一标识组成形如project-name:build-uuid例如文档示例中的my-build-project-one:a1b2c3d4-5678-9012-abcd-11111EXAMPLE。在同一项目的BatchGetBuilds官方示例见 examples-1.json中可以看到相同的 ID 形态id: codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX同时每个构建还拥有完整的 ARN形如arn:aws:codebuild:region:account-id:build/project-name:build-uuid文档示例输出中的buildsDeleted字段返回的正是这种完整 ARN 形式。三、完整示例与输出解析以下命令来自 batch-delete-builds.rst一次删除两个项目各一条构建记录aws codebuild batch-delete-builds --ids my-build-project-one:a1b2c3d4-5678-9012-abcd-11111EXAMPLE my-build-project-two:a1b2c3d4-5678-9012-abcd-22222EXAMPLE返回结果{ buildsNotDeleted: [ { id: arn:aws:codebuild:us-west-2:123456789012:build/my-build-project-one:a1b2c3d4-5678-9012-abcd-11111EXAMPLE, statusCode: BUILD_IN_PROGRESS } ], buildsDeleted: [ arn:aws:codebuild:us-west-2:123456789012:build/my-build-project-two:a1b2c3d4-5678-9012-abcd-22222EXAMPLE ] }输出字段含义根据 service-2.json 中BatchDeleteBuildsOutput的定义响应包含两个字段buildsDeleted类型BuildIds成功删除的构建 ID 列表ARN 形式buildsNotDeleted类型BuildsNotDeleted删除失败的构建信息列表其中每个元素BuildNotDeleted包含两个子字段id未能成功删除的构建 IDstatusCode关于删除失败的附加信息例如示例中的BUILD_IN_PROGRESS构建仍在进行中。从示例输出可以看出my-build-project-one的构建因**仍处于进行中BUILD_IN_PROGRESS**而未能删除被放入buildsNotDeletedmy-build-project-two的构建则被成功删除其 ARN 出现在buildsDeleted中。值得注意的细节该操作是**尽力而为best-effort**的即使部分构建删除失败命令本身仍会正常返回失败项通过buildsNotDeleted暴露出来不会导致整体报错若全部删除成功buildsNotDeleted为空数组或缺失buildsDeleted包含全部 ARN从模型看删除失败时常见的statusCode会反映构建状态而StatusType枚举定义于 service-2.json 的StatusTypeshape包括SUCCEEDED、FAILED、FAULT、TIMED_OUT、IN_PROGRESS、STOPPED等取值可用于辅助判断失败原因。四、如何获取构建 ID配套查询命令batch-delete-builds只负责删除构建 ID 需要提前获取。常用的配套 AWS CLI 命令包括列出所有构建 IDaws codebuild list-builds对应 API 操作为ListBuilds返回全部构建 ID分页场景可配合--next-token与--max-items。按项目列出构建 IDaws codebuild list-builds-for-project --project-name my-build-project对应 API 操作为ListBuildsForProject按项目过滤。查看构建详情确认 IDaws codebuild batch-get-builds --ids build-id对应 API 操作为BatchGetBuilds可校验 ID 是否存在及构建当前状态。以上操作在 service-2.json 中均有对应定义例如ListBuilds的说明为获取构建 ID 列表每个 ID 代表一次构建。建议的删除前检查流程用list-builds或list-builds-for-project拿到目标构建 ID结合batch-get-builds确认构建状态如SUCCEEDED、FAILED并过滤掉仍在IN_PROGRESS的构建将 ID 列表传入batch-delete-builds --ids一次最多 100 个检查响应中的buildsNotDeleted对未删除项如仍在运行的构建在构建结束后重试。五、异常与边界情况处理1. 正在运行的构建无法删除如示例所示处于BUILD_IN_PROGRESS状态的构建会进入buildsNotDeleted。此时应先用aws codebuild stop-build --id build-id停止构建再执行删除。2. 输入参数非法BatchDeleteBuilds操作可能抛出InvalidInputException见 service-2.json 中该操作的errors定义。常见触发原因包括--ids为空或缺失该参数必填传入超过 100 个构建 IDBuildIds上限为 100ID 格式非法不是合法的project-name:uuid形式。3. 权限不足删除构建记录需要具备相应的 IAM 权限例如codebuild:BatchDeleteBuilds允许策略。权限缺失时 AWS CLI 会返回访问拒绝类错误这与命令本身的参数无关。4. 删除结果不是全有或全无务必在脚本中同时解析buildsDeleted与buildsNotDeleted两个字段切勿只根据命令退出码判断结果。正确做法是以buildsNotDeleted是否为空作为批量删除是否完全成功的判据。六、源码级回顾命令背后的数据结构为便于排查问题这里将关键数据结构集中列出均位于 awscli/botocore/data/codebuild/2016-10-06/service-2.jsonShape类型说明BatchDeleteBuildsInputstructure必填ids请求体唯一成员为idsBatchDeleteBuildsOutputstructure响应体成员为buildsDeleted、buildsNotDeletedBuildIdslistmin 1max 100构建 ID 列表元素为非空字符串BuildNotDeletedstructure未删除构建信息成员为id、statusCodeBuildsNotDeletedlistBuildNotDeleted的列表StatusTypestring 枚举SUCCEEDED、FAILED、FAULT、TIMED_OUT、IN_PROGRESS、STOPPED结合 batch-delete-builds.rst 的示例可以完整还原一条删除请求的输入 → 处理 → 输出链路输入ids列表 → CodeBuild 逐个尝试删除 → 成功项进入buildsDeleted返回 ARN失败项连同原因statusCode进入buildsNotDeleted。七、总结aws codebuild batch-delete-builds是管理 AWS CodeBuild 构建记录生命周期的核心运维命令支持单次传入 1 至 100 个构建 ID 进行批量清理。使用时注意三点构建 ID 采用project-name:uuid格式正在运行的构建无法删除并会出现在buildsNotDeleted中判断批量删除是否完全成功应检查buildsNotDeleted是否为空。配合list-builds、list-builds-for-project、batch-get-builds与stop-build命令即可形成完整的查询 → 停止 → 批量删除清理闭环。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。