AWS CLI CodeBuild `list-shared-report-groups` 命令详解:列出共享报告组 ARN 的完整实战指南 📅 发布时间:2026/9/16 18:48:50 👁 浏览次数: AWS CLI CodeBuildlist-shared-report-groups命令详解列出共享报告组 ARN 的完整实战指南【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli导读本指南围绕 AWS CLI 中aws codebuild list-shared-report-groups命令展开讲解如何列出通过资源共享Resource Sharing授予当前账户/用户访问权限的 AWS CodeBuild 报告组Report GroupARN。你将掌握该命令的基础调用、输出结构解析、排序与分页参数sortBy、sortOrder、maxResults、nextToken的完整用法并结合仓库中的服务模型service-2.json与分页配置paginators-1.json理解其底层实现。一、命令定位什么是共享报告组AWS CodeBuild 的报告组Report Group用于归集构建产出的测试报告Test Reports与代码覆盖率报告Code Coverage Reports。在跨账户或跨用户协作场景下资源所有者可以通过 AWS Resource Access ManagerRAM将报告组共享给其他 AWS 账户或组织单元中的用户。list-shared-report-groups命令的作用就是列出那些共享给当前 AWS 账户或当前 IAM 用户/角色的报告组 ARN。它与list-report-groups列出本账户拥有的报告组形成互补其姊妹命令list-shared-projects则用于列出共享的构建项目。本命令的官方示例文档位于 awscli/examples/codebuild/list-shared-report-groups.rst本文所有命令与输出均以该文档为准。二、基础用法一条命令获取全部共享报告组 ARN2.1 直接调用在配置好 AWS 凭证aws configure后直接在终端执行aws codebuild list-shared-report-groups命令不需要任何必填参数即可返回当前账户在该区域中可访问的所有共享报告组 ARN。示例文档给出的典型输出如下{ reportGroups: [ arn:aws:codebuild:region-ID:user-ID:report-group/report-group-1, arn:aws:codebuild:region-ID:user-ID:report-group/report-group-2, arn:aws:codebuild:region-ID:user-ID:report-group/report-group-3 ] }2.2 输出结构解读reportGroups字符串数组每个元素是一个报告组 ARN格式为arn:aws:codebuild:region-ID:user-ID:report-group/报告组名称。注意示例中的region-ID与user-ID是占位符实际输出会替换为真实的区域与账户 ID。输出中 ARN 的数量即当前账户/用户被授予访问权限的共享报告组总数。2.3 与其他 list 命令的对比在 awscli/examples/codebuild/ 目录下同样风格的示例还有list-report-groups.rst列出本账户拥有的报告组 ARN输出结构与共享版本完全一致同样返回reportGroups数组list-shared-projects.rst列出共享的构建项目ARN输出字段为projects。通过这三个命令你可以完整盘点当前账户在 CodeBuild 中自有 共享的资源全景。三、核心参数详解排序、分页与筛选虽然示例文档只展示了无参调用但底层服务模型为该命令定义了四个可选参数。它们定义在 awscli/botocore/data/codebuild/2016-10-06/service-2.json 的ListSharedReportGroupsInput结构中第 3384 行起。3.1sortOrder列表排序方向取值含义ASCENDING按升序排列DESCENDING按降序排列该参数对应模型中的SortOrderType枚举service-2.json 第 4770 行仅接受上述两个值。# 按降序排列共享报告组 aws codebuild list-shared-report-groups \ --sort-order DESCENDING3.2sortBy排序依据取值含义ARN按报告组 ARN 排序MODIFIED_TIME按共享报告组相关信息最后被修改的时间排序该参数对应模型中的SharedResourceSortByType枚举service-2.json 第 4763 行# 按修改时间排序最新的排在最前 aws codebuild list-shared-report-groups \ --sort-by MODIFIED_TIME \ --sort-order DESCENDING3.3maxResults单次返回条数上限类型为整数取值范围1 ~ 100见PageSize形状service-2.json 第 3525 行默认值为 100若共享报告组总数超过该值服务会返回nextToken需要配合分页继续拉取。# 每页最多返回 10 个共享报告组 aws codebuild list-shared-report-groups \ --max-results 103.4nextToken分页游标当列表条目数超过maxResults时响应中会额外返回nextToken字段见ListSharedReportGroupsOutputservice-2.json 第 3405 行。将上一轮返回的 token 传入下一轮调用即可获取后续批次直到响应中不再出现nextToken为止# 第一页 aws codebuild list-shared-report-groups --max-results 10 # 用上一页返回的 nextToken 获取第二页 aws codebuild list-shared-report-groups \ --max-results 10 \ --next-token eyJ2Ijox...上一页返回的 token四、底层实现服务模型与分页机制4.1 操作定义在服务模型中ListSharedReportGroups操作service-2.json 第 570 行定义如下HTTP 方法POST请求 URI/可能的错误InvalidInputException当传入的排序取值、maxResults越界等输入不合法时抛出官方文档描述为Gets a list of report groups that are shared with other Amazon Web Services accounts or users.——注意这里所谓 shared with other accounts 是站在资源所有者的视角表述实际调用时返回的是共享给当前调用者的报告组。4.2 内置分页支持CLI 层面的分页由 awscli/botocore/data/codebuild/2016-10-06/paginators-1.json 中的配置驱动ListSharedReportGroups: { input_token: nextToken, limit_key: maxResults, output_token: nextToken, result_key: reportGroups }这意味着该命令是 CodeBuild 中少数自带分页模型的操作之一。实际使用中更推荐直接使用 CLI 的--page-size与自动分页机制让 CLI 替你循环处理所有nextToken# CLI 自动遍历所有页一次性输出全部共享报告组 ARN aws codebuild list-shared-report-groups \ --page-size 20 # 配合 --query 与 --output 做格式化输出 aws codebuild list-shared-report-groups \ --query reportGroups[*] \ --output json--page-size控制每次实际发给服务的maxResults而 CLI 会持续消费返回的nextToken直到数据取完从而避免手工循环分页。五、实战场景与扩展用法5.1 快速统计共享报告组数量aws codebuild list-shared-report-groups \ --query length(reportGroups) \ --output text5.2 仅列出某个报告组名称aws codebuild list-shared-report-groups \ --query reportGroups[?ends_with(, :report-group/report-group-1)] \ --output text5.3 与其他报告组命令联动拿到共享报告组 ARN 后可进一步结合本仓库 awscli/examples/codebuild/ 中的相关命令深入排查batch-get-report-groups.rst批量获取报告组的详细信息导出配置、创建时间、状态等list-reports-for-report-group.rst列出某报告组下的全部测试报告describe-test-cases.rst 与 describe-code-coverages.rst查看具体测试用例与代码覆盖率明细。典型的排查链路为list-shared-report-groups找到 ARN →batch-get-report-groups确认报告组配置 →list-reports-for-report-group查看报告列表。5.4 权限前提调用该命令需要 IAM 身份具备codebuild:ListSharedReportGroups权限对应 CodeBuild 服务端的ListSharedReportGroups操作。若凭证不足服务端将返回AccessDeniedException。共享关系的建立由资源所有者通过 AWS RAM 完成接受共享后本账户才能在该区域看到对应的共享报告组。六、小结aws codebuild list-shared-report-groups是跨账户 CodeBuild 协作场景下盘点他人共享给我的报告组的最直接手段无参调用即可返回全部共享报告组 ARN输出结构简单仅reportGroups数组可能附带nextToken通过--sort-byARN/MODIFIED_TIME与--sort-orderASCENDING/DESCENDING控制排序通过--max-results1~100默认 100与--next-token手动分页或直接依赖 CLI 内置分页paginators-1.json 中已声明该操作的分页映射自动遍历全部结果与list-report-groups自有、list-shared-projects共享项目配合可完整覆盖 CodeBuild 资源的可见性盘点。所有参数定义与枚举取值均可对照仓库内的 service-2.json 验证官方示例输出详见 list-shared-report-groups.rst。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考