新闻详情

新闻详情

首页 / 资讯中心 / 详情

AWS CLI App Runner list-operations 实战指南:查询服务操作历史与部署状态

发布时间:2026/9/14 11:32:45来源:尧图网络
AWS CLI App Runner list-operations 实战指南:查询服务操作历史与部署状态
AWS CLI App Runner list-operations 实战指南查询服务操作历史与部署状态【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli本篇技术指南以 AWS CLI 官方示例 list-operations.rst 为核心系统讲解aws apprunner list-operations命令的完整用法如何通过 JSON 输入文件查询 App Runner 服务上发生过的所有操作、如何解析OperationSummaryList输出中的操作类型CREATE_SERVICE、START_DEPLOYMENT 等与状态PENDING、IN_PROGRESS、SUCCEEDED 等并结合仓库内 App Runner 服务模型service-2.json与 CLI 输入解析实现cliinputjson.py深入底层原理。读完本文你将能独立使用该命令跟踪服务创建、部署、暂停、恢复、更新与删除的全生命周期操作。命令概述App Runner 服务的操作账本App Runner 是 AWS 提供的容器化应用托管服务能够自动完成构建、部署与扩缩容。用户通过aws apprunner create-service创建服务后服务并非静止不变——它还会经历手动部署、更新配置、暂停、恢复乃至删除等一系列操作。list-operations命令正是用来返回某个 App Runner 服务上已发生过的操作列表。从服务模型service-2.json中的ListOperations操作定义可以看到其底层是向/路径发起的POST请求官方对它的语义说明为Return a list of operations that occurred on an App Runner service. The resulting list of OperationSummary objects is sorted in reverse chronological order. The first object on the list represents the last started operation.关键语义有两点结果按时间倒序排列列表中第一个元素是最近一次启动的操作返回的是摘要信息OperationSummary每个操作以摘要形式呈现不会携带完整的操作详情。该命令可能抛出的异常包括InvalidRequestException请求参数不合法、ResourceNotFoundException指定的服务不存在、InternalServiceErrorException服务端内部错误这三类错误同样定义在 service-2.json 的ListOperations操作 errors 列表中。官方示例完整复现查询新建服务的首个操作list-operations.rst 给出了一个贴近真实场景的示例一个刚刚创建、只发生过一次CREATE_SERVICE操作的 App Runner 服务其操作历史中只有一条记录。步骤一准备 JSON 输入文件示例通过--cli-input-json参数从文件读取完整请求体而不是在命令行上逐个指定参数。首先创建input.json{ ServiceArn: arn:aws:apprunner:us-east-1:123456789012:service/python-app/8fe1e10304f84fd2b0df550fe98a71fa }其中ServiceArn是目标 App Runner 服务的资源名称Amazon Resource Name。以官方 create-service.rst 的输出为例创建服务成功后返回的ServiceArn形如arn:aws:apprunner:us-east-1:123456789012:service/python-app/8fe1e10304f84fd2b0df550fe98a71fa其中python-app是服务名8fe1e10304f84fd2b0df550fe98a71fa是服务 ID。如果不知道当前有哪些服务可先执行aws apprunner list-services获取服务列表及其 ARN。从模型定义看ServiceArn是ListOperationsRequest中唯一必填参数required: [ServiceArn]其类型AppRunnerResourceArn约束为长度 1–1011 个字符且必须匹配arn:aws(-[\w])*:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[0-9]{12}:(\w|\/|-)形式的 ARN 正则。步骤二执行命令aws apprunner list-operations \ --cli-input-json file://input.jsonfile://前缀指示 CLI 从本地文件读取 JSON 内容。示例输出如下{ OperationSummaryList: [ { EndedAt: 1606156217, Id: 17fe9f55-7e91-4097-b243-fcabbb69a4cf, StartedAt: 1606156014, Status: SUCCEEDED, TargetArn: arn:aws:apprunner:us-east-1:123456789012:service/python-app/8fe1e10304f84fd2b0df550fe98a71fa, Type: CREATE_SERVICE, UpdatedAt: 1606156217 } ] }该输出清楚地展示了服务创建操作CREATE_SERVICE于 Unix 时间戳1606156014开始、1606156217结束最终状态为SUCCEEDED操作 ID 为 UUID17fe9f55-7e91-4097-b243-fcabbb69a4cf。这个 UUID 与 create-service.rst 中创建服务后返回的OperationId完全一致说明list-operations正是对服务生命周期中每次操作留下的记录进行归档查询——可以作为创建服务后回查操作结果的依据。直接传参的等价写法--cli-input-json只是入参方式之一。对于只有单个必填参数的list-operations直接在命令行指定参数更加简洁aws apprunner list-operations \ --service-arn arn:aws:apprunner:us-east-1:123456789012:service/python-app/8fe1e10304f84fd2b0df550fe98a71fa请求参数详解ServiceArn、NextToken 与 MaxResultsListOperationsRequest共包含三个成员定义于 service-2.json参数类型必填说明ServiceArnAppRunnerResourceArn是要查询操作历史的 App Runner 服务 ARNNextTokenString否上一页结果返回的分页令牌用于翻页请求下一页除分页令牌外其余参数必须与初次请求保持一致不指定时返回第一页MaxResultsListOperationsMaxResults否每个响应页中最多返回的结果条数不指定时单次响应返回全部可用结果其中MaxResults的取值区间为1 到 20模型定义为max: 20, min: 1也就是说分页请求时每页最多返回 20 条操作记录。注意分页设计在分页请求中每次调用最多返回MaxResults条记录若结果不止一页响应会携带NextToken将其传入下一次请求即可获取后续页面。输出解析OperationSummary 摘要对象list-operations的响应包含两个字段OperationSummaryList操作摘要列表和NextToken分页令牌仅在分页请求中返回。每个OperationSummary对象包含以下成员均定义在 service-2.json字段类型说明IdUUID操作唯一 ID在所属 App Runner 服务范围内唯一严格为 36 位 UUID 格式TypeOperationType操作类型标识发生的具体动作StatusOperationStatus操作的当前状态TargetArnAppRunnerResourceArn操作作用目标资源的 ARN如 App Runner 服务本身StartedAtTimestamp操作开始时间Unix 时间戳格式EndedAtTimestamp操作结束时间Unix 时间戳格式UpdatedAtTimestamp操作最近一次更新时间Unix 时间戳格式需要特别留意时间戳格式list-operations返回的StartedAt、EndedAt、UpdatedAt均为 Unix 秒级时间戳如示例中的1606156217需要转换成可读日期例如1606156217对应 2020-11-23 前后。这与create-service输出中的 ISO 8601 字符串如CreatedAt: 2020-11-20T19:05:25Z不同阅读输出时不要混淆两种格式。OperationType六种可追踪的操作类型OperationType枚举在服务模型中定义了六种取值覆盖 App Runner 服务的核心生命周期动作类型值含义CREATE_SERVICE创建服务由create-service触发START_DEPLOYMENT手动触发一次部署由start-deployment触发PAUSE_SERVICE暂停服务由pause-service触发RESUME_SERVICE恢复服务由resume-service触发DELETE_SERVICE删除服务由delete-service触发UPDATE_SERVICE更新服务配置由update-service触发仓库中 examples/apprunner 目录下与这些操作一一对应的命令示例可以帮你建立操作类型 ↔ 触发命令的完整对应关系。例如 start-deployment.rst 显示手动部署成功后只返回一个OperationId如853a7d5b-fc9f-4730-831b-fd8037ab832a此后便可通过list-operations查询该OperationId对应的START_DEPLOYMENT操作及其最终状态。OperationStatus操作状态机OperationStatus枚举定义了操作可能经历的七种状态状态值含义PENDING操作已排队等待执行IN_PROGRESS操作正在执行中FAILED操作执行失败SUCCEEDED操作执行成功ROLLBACK_IN_PROGRESS操作失败后正在回滚ROLLBACK_FAILED回滚失败ROLLBACK_SUCCEEDED回滚完成可以看到App Runner 对部署类操作设计了完整的失败回滚机制当一次部署失败时状态会从FAILED转入回滚流程ROLLBACK_IN_PROGRESS→ROLLBACK_SUCCEEDED若回滚本身也异常则落入ROLLBACK_FAILED。因此仅看到FAILED并不代表流程结束还需要继续观察回滚状态。这与 create-service.rst 输出中服务级Status: OPERATION_IN_PROGRESS的异步设计相呼应——操作由后台异步执行list-operations正是轮询操作结果的推荐手段。分页与脚本轮询实用组合写法由于操作列表按时间倒序排列最新操作始终位于列表头部这为脚本化监控提供了便利。结合MaxResults与NextToken可编写轮询逻辑持续跟踪最新操作# 查询最新一条操作记录结果按时间倒序第一条即最近操作 aws apprunner list-operations \ --service-arn arn:aws:apprunner:us-east-1:123456789012:service/python-app/8fe1e10304f84fd2b0df550fe98a71fa \ --max-results 1 # 配合 jq 提取最新操作的状态用于判断部署是否完成 aws apprunner list-operations \ --service-arn arn:aws:apprunner:us-east-1:123456789012:service/python-app/8fe1e10304f84fd2b0df550fe98a71fa \ --max-results 1 \ --query OperationSummaryList[0].Status \ --output text当操作数量超过 20 条时利用响应中的NextToken逐页拉取全部历史。从 paginators-1.json 可以看到App Runner 的ListOperations并未在分页器配置pagination: {}中注册意味着该命令不提供--page-size之类的 CLI 自动分页参数翻页需手动传递NextToken。--cli-input-json 底层机制从 JSON 文件到请求参数示例命令大量使用--cli-input-json其实现位于 cliinputjson.py。理解该机制能帮助你正确使用这类命令--cli-input-json参数由add_cli_input_json在构建参数表时注册通过building-argument-table事件挂钩对除流式输出outfile之外的所有操作通用执行时calling-command.*事件CLI 通过get_paramfile将file://input.json形式的路径解析为文件内容若解析不到文件则把参数原值当作内联 JSON 字符串处理解析成功的 JSON 通过json.loads转为 Python 字典并注册到get-cli-input-json-data事件供后续调用使用若 JSON 非法则抛出ParamError: Invalid JSON关键的覆盖规则命令行上显式指定的其他参数会覆盖 JSON 中同名键值_update_call_parameters中仅在call_parameters尚未包含该键时才写入 JSON 值而 JSON 中的键不会被命令行参数回填。换句话说--cli-input-json与--service-arn混用时命令行值优先。另一个与之配套的常用参数是--generate-cli-skeleton它输出一份带字段名占位符的 JSON 模板可作为input.json的起点先运行aws apprunner list-operations --generate-cli-skeleton拿到骨架填入ServiceArn后再通过--cli-input-json file://input.json提交。小结aws apprunner list-operations是掌握 App Runner 服务运维状态的核心查询命令。本文完整复现了官方示例并在此基础上扩展了参数语义、OperationSummary字段、六种操作类型与七种状态构成的完整生命周期以及基于MaxResults/NextToken的分页与轮询实践。实际使用中建议配合 create-service.rst 创建服务、start-deployment.rst 手动部署形成触发操作 → 查询操作 → 等待 SUCCEEDED → 继续下一步的标准运维闭环。所有命令与字段定义均可在仓库的 service-2.json 与 examples/apprunner 示例目录中进一步核对。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

LMS与RLS自适应波束形成算法详解:MATLAB实现与参数调优 2026/9/14 12:11:54

LMS与RLS自适应波束形成算法详解:MATLAB实现与参数调优

简介:面向通信与信号处理方向的学习者,这套 MATLAB 源码完整实现了智能天线自适应波束形成中的 LMS 与 RLS 算法,涵盖 SNR 对比分析以及 MVDR1、MVDR2 两种波束形成器实现,覆盖阵列信号建模、权向量更新到方向图形成的完整流程&am…

阅读更多 →
数据资产入表:技术实现与企业管理实践 2026/9/14 12:11:54

数据资产入表:技术实现与企业管理实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Hindsight Retain 记忆写入管线深度解析:从原始内容到结构化记忆的完整流程 2026/9/14 12:11:54

Hindsight Retain 记忆写入管线深度解析:从原始内容到结构化记忆的完整流程

Hindsight Retain 记忆写入管线深度解析:从原始内容到结构化记忆的完整流程 【免费下载链接】hindsight Hindsight: Agent Memory That Learns 项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight 本文围绕 Hindsight 的 retain() 能力展开,完整覆盖其…

阅读更多 →
双基阵目标跟踪中的卡尔曼滤波技术实现与优化 2026/9/14 12:11:54

双基阵目标跟踪中的卡尔曼滤波技术实现与优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI智能问卷设计:提升科研与商业调研效率 2026/9/14 12:11:54

AI智能问卷设计:提升科研与商业调研效率

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
SpringBoot线程池配置优化与实战指南 2026/9/14 12:08:54

SpringBoot线程池配置优化与实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞