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

AWS CLI 的 `list-shared-projects` 命令详解:列出通过资源共享共享给当前账户的 CodeBuild 构建项目

发布时间:2026/9/16 18:05:53

资讯中心
01
ARTICLE

AWS CLI 的 `list-shared-projects` 命令详解:列出通过资源共享共享给当前账户的 CodeBuild 构建项目

AWS CLI 的 `list-shared-projects` 命令详解:列出通过资源共享共享给当前账户的 CodeBuild 构建项目
AWS CLI 的list-shared-projects命令详解列出通过资源共享共享给当前账户的 CodeBuild 构建项目【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli导读本文基于 AWS CLI 开源仓库中 awscli/examples/codebuild/list-shared-projects.rst 的官方示例深入讲解aws codebuild list-shared-projects命令的用法。该命令用于列出通过 AWS 资源共享机制AWS Resource Access Manager简称 AWS RAM共享给当前 AWS 账户或 IAM 用户的 CodeBuild 构建项目。读完本文你将掌握该命令的基本调用方式、输出结构、全部可选参数排序、分页、nextToken 翻页机制以及它与此前常用的list-projects命令之间的区别并能直接在终端中复制运行。命令背景CodeBuild 项目共享机制在 AWS CodeBuild 中项目共享指的是其他 AWS 账户或用户通过资源分享机制将某个构建项目分享给你所在的账户或当前 IAM 用户。共享方通常在 CodeBuild 控制台或通过 AWS RAM 完成分享作为接收方你在自己的账户中可以看到并调用这些被共享的项目例如使用 batch-get-projects.rst 查询其详情、在其上触发构建等。list-shared-projects就是专门面向被共享给当前账户/用户的资源做列举的接口而非列举你自己账户创建的项目。从服务模型 service-2.json 中的定义可以确认该操作的官方文档描述为 Gets a list of projects that are shared with other Amazon Web Services accounts or users其输入参数的说明则进一步明确为 list build projects shared with the current Amazon Web Services account or user列出共享给当前 AWS 账户或用户的构建项目。基本用法官方示例原样继承根据 list-shared-projects.rst最基本的调用方式为不带任何参数直接执行aws codebuild list-shared-projects该命令会列出当前账户可用的所有被共享的 CodeBuild 构建项目。官方示例给出的典型输出如下{ projects: [ arn:aws:codebuild:region-ID:account-ID:project/shared-project-name-1, arn:aws:codebuild:region-ID:account-ID:project/shared-project-name-2 ] }输出中的projects是一个字符串数组数组中每一项都是一个完整的 Amazon Resource NameARN。ARN 的组成结构为arn:aws:codebuild:区域ID:账户ID:project/共享项目名称其中region-ID共享项目所在区域account-ID共享来源方或项目所有者的 AWS 账户 IDproject/shared-project-name资源类型project及对应的项目名称。也就是说返回的是 ARN 列表而不是项目名称列表这一点与list-projects返回纯项目名称如codebuild-demo-project有明显区别。核心参数详解虽然官方示例展示了最简调用但从服务模型 service-2.json 中ListSharedProjectsInput结构的定义第 3350–3369 行附近可以看出该命令还支持以下四个可选参数CLI 参数JSON 模型字段类型说明合法取值--sort-bysortBystring排序依据即按哪个维度排列共享项目ARN按 ARN 排列MODIFIED_TIME按共享项目信息最近一次变更时间排列--sort-ordersortOrderstring排序方向ASCENDING升序DESCENDING降序--max-resultsmaxResultsinteger单次响应返回的最大共享项目数量默认 100最小 1最大 100--next-tokennextTokenstring上一轮调用返回的翻页令牌用于获取后续批次的结果由上一次响应中的nextToken提供其中枚举值可以在模型的SharedResourceSortByType[ARN, MODIFIED_TIME]与SortOrderType[ASCENDING, DESCENDING]两个 shape 定义中核实maxResults对应PageSizeshape其约束为min: 1, max: 100。一个组合使用排序与分页的完整示例aws codebuild list-shared-projects \ --sort-by MODIFIED_TIME \ --sort-order DESCENDING \ --max-results 50上述命令将按最近被修改时间降序排列且每页最多返回 50 个共享项目。输出字段与 nextToken 翻页机制从模型ListSharedProjectsOutput的定义可知响应的 JSON 包含两个字段projectsProjectArns类型的列表元素为 ARN 字符串单次最多 100 个即与当前账户/用户共享的构建项目 ARN 列表nextToken分页令牌。当结果数量超过maxResults默认 100时返回用于发起下一次调用取回后续结果如果不再返回nextToken说明已取完全部数据。翻页的标准做法与list-projects完全相同。参考同目录下 list-projects.rst 的官方分页示例先把首次响应的nextToken值作为参数再次调用重复此过程直到响应中不再出现nextTokenaws codebuild list-shared-projects --next-token 上轮返回的nextToken值响应结构与第一页一致同样包含projects与nextToken两个字段。更简单的做法直接使用--paginate实际上你不需要手工处理nextToken。本仓库的分页配置 paginators-1.json 中已为ListSharedProjects定义了分页器其映射关系为ListSharedProjects: { input_token: nextToken, limit_key: maxResults, output_token: nextToken, result_key: projects }这意味着 AWS CLI 会自动把nextToken识别为输入/输出令牌、把maxResults识别为每页大小、把projects识别为结果字段。因此可以这样一次性取回全部共享项目aws codebuild list-shared-projects --paginate结合 CLI 内置的全局参数还可以精确控制分页行为aws codebuild list-shared-projects --paginate --page-size 50 --max-items 200其中--page-size控制单次 API 请求拉取的最大条目数底层即maxResults--max-items控制整个分页过程总共输出的条目上限。与list-projects的差异对比list-shared-projects很容易与list-projects混淆两者的核心区别如下对比维度list-projectslist-shared-projects列举对象当前账户自己创建的构建项目其他账户/用户共享给当前账户的构建项目返回值项目名称列表如codebuild-demo-project项目 ARN 列表可选参数--sort-by、--sort-order、--next-token等额外支持--max-results与--sort-by含MODIFIED_TIME等两者在分页令牌nextToken的使用方式上完全一致且在paginators-1.json中均有对应的分页器配置。错误处理与排查该操作在服务模型中声明的唯一错误类型为InvalidInputException见 service-2.json 中ListSharedProjects操作的errors定义。当传入的参数不合法时例如--sort-by传入枚举之外的值、--max-results超出 1–100 的范围AWS CLI 会返回该异常。排查建议检查参数拼写与取值是否严格符合上表检查当前 CLI 配置的凭证与区域--region是否正确因为共享项目按区域隔离不同区域的共享列表互不相同如确无共享项目projects会返回空数组这属于正常现象不代表命令失败。相关命令与延伸阅读list-shared-report-groups.rst与之对称的命令用于列出共享给当前账户的报告组report groups参数与分页逻辑几乎一致batch-get-projects.rst拿到共享项目 ARN 后可用它批量获取项目的详细信息list-projects.rst列举自有构建项目可作为对比参考。小结aws codebuild list-shared-projects是跨账户协作场景下盘点别人共享给你的构建项目的专用命令。日常使用只需关注三点输出的是 ARN 而非项目名通过--sort-by/--sort-order/--max-results控制排序与分页结果超过 100 条时依赖nextToken或直接加--paginate完成全量拉取。官方示例文件与分页配置均已在本仓库中给出可直接对照使用。【免费下载链接】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 小时内为你输出方案建议。