拓冰建站拓冰建站
首页 / 资讯中心 / 正文

AWS CLI 详解 aws appconfig stop-deployment:停止并回退 AppConfig 配置部署的完整指南

AWS CLI 详解 aws appconfig stop-deployment停止并回退 AppConfig 配置部署的完整指南【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli本文基于 aws-cli 仓库中 stop-deployment 官方示例文档讲解如何用aws appconfig stop-deployment命令停止一次正在进行中的应用配置部署。读完本文你将完整掌握该命令的用法、全部请求参数含可选的--allow-revert回退参数、底层 HTTP API 映射、部署状态机的约束条件、输出字段含义与常见错误并了解这条示例是如何被 aws-cli 注入到aws appconfig stop-deployment help帮助文档中的。stop-deployment 命令与可直接运行的示例在 AWS AppConfig 中一次部署deployment是把某个配置版本configuration version按部署策略逐步推送到指定环境environment中的过程。当部署出现问题、指标异常或需要人工中止时可以用stop-deployment命令停止它。仓库文档给出的完整示例如下停止应用339ohji在环境54j1r29中的第 2 次部署aws appconfig stop-deployment \ --application-id 339ohji \ --environment-id 54j1r29 \ --deployment-number 2执行成功后的输出示例摘自 stop-deployment.rst{ DeploymentNumber: 0, DeploymentDurationInMinutes: 0, GrowthFactor: 0.0, FinalBakeTimeInMinutes: 0, PercentageComplete: 0.0 }示例文档附带了两条使用前提说明与仓库生成的帮助文本一致运行该示例前必须已安装并配置好 AWS CLI示例均采用类 Unix 的引号规则迁移到其他 shell 时需自行适配引号。请求参数与底层 API 映射从服务模型文件 service-2.json 中的StopDeployment操作定义与StopDeploymentRequest结构定义可以看到该操作在协议层的定义是HTTP 方法与路径DELETE /applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}成功响应码202Accepted因此 CLI 的三个必填参数实际上是 URL 路径参数模型中三者的location均为uri而可选参数AllowRevert则通过请求头Allow-Revert传递。完整参数说明如下CLI 参数API 成员类型必填位置说明--application-idApplicationId字符串Name形状是URI 路径应用 ID--environment-idEnvironmentId字符串Name形状是URI 路径环境 ID--deployment-numberDeploymentNumber整数Integer形状是URI 路径部署的序号deployment sequence number--allow-revertAllowRevert布尔否请求头Allow-Revert允许把已COMPLETED的部署回退到上一配置版本StopDeploymentRequest结构的required列表明确为ApplicationId、EnvironmentId、DeploymentNumber三项缺任意一项 CLI 都会在发送请求前报参数缺失错误。什么时候能停DEPLOYING 与 REVERTED 两种语义StopDeployment操作的 API 文档见 service-2.json 中该操作的documentation字段描述了它的状态机约束这是使用本命令最关键的一点默认只能停止进行中的部署该操作只作用于状态为DEPLOYING的部署提供AllowRevert后可停止/回退已完成的部署对进行中的部署停止后状态变为ROLLED_BACK对已完成的部署回退后状态变为REVERTED即把该环境恢复到上一个配置版本72 小时窗口AppConfig 只允许在部署完成后的 72 小时内执行回退。因此如果需要对一次已经COMPLETE的部署执行“撤销上线”命令需要显式加上--allow-revertaws appconfig stop-deployment \ --application-id 339ohji \ --environment-id 54j1r29 \ --deployment-number 2 \ --allow-revert这一语义与仓库中 start-deployment 示例形成对应start-deployment启动部署后部署处于DEPLOYING状态并按GrowthType/GrowthFactor逐步提升PercentageComplete而stop-deployment正是这条部署链路上的人工中止入口。输出字段解读StopDeployment操作返回一个Deployment形状的对象。结合 stop-deployment 示例输出 与 get-deployment 示例中的完整输出核心字段含义为DeploymentNumber本次操作针对的部署序号DeploymentDurationInMinutes部署策略配置的总部署时长分钟GrowthFactor按部署策略每次提升的百分比增量如 25.0 表示每步 25%FinalBakeTimeInMinutes达到 100% 后进入保持bake阶段的时长分钟PercentageComplete停止时刻的部署完成百分比。在完整的get-deployment输出中还会看到State如DEPLOYING、COMPLETE、EventLog含DEPLOYMENT_STARTED、PERCENTAGE_UPDATED、BAKE_TIME_STARTED、DEPLOYMENT_COMPLETED等事件及其触发者与时间戳以及StartedAt/CompletedAt等字段可用于确认停止操作前后的状态变化轨迹。可能的错误从 service-2.json 中StopDeployment的errors列表看该操作可能返回三类异常ResourceNotFoundException指定的应用、环境或部署号不存在BadRequestException请求不合法例如部署当前状态不允许该操作InternalServerException服务内部错误。排查部署状态问题时可以结合aws appconfig get-deployment与aws appconfig list-deployments查看当前部署的真实状态后再执行停止。这条示例如何进入 aws appconfig 帮助文档stop-deployment.rst并不是孤立的文档。aws-cli 的定制层 addexamples.py 中的add_examples函数会监听doc-examples.*.*文档事件按examples/service/operation.rst的路径规则查找对应的 ReST 片段并将其插入生成帮助时的Examples小节同时在前面附上需已安装并配置 AWS CLI的提示注记。因此在终端执行aws appconfig stop-deployment help即可看到与 stop-deployment.rst 一致的示例与输出。同一示例还有机器可读的 JSON 版本保存在 botocore 的服务数据文件 examples-1.json 的StopDeployment条目中其中记录了该示例的 inputApplicationId、EnvironmentId、DeploymentNumber与 output 结构。相关命令与延伸阅读围绕一次完整的 AppConfig 部署生命周期仓库 examples 目录下还提供了可直接参考的配套示例启动部署start-deployment.rst查询部署详情与事件日志get-deployment.rst列出某环境的历史部署list-deployments.rst部署策略的创建与查看get-deployment-strategy.rst如需了解部署流程的完整背景创建应用、配置配置画像、创建环境、选择部署策略、执行部署可参阅示例文档末尾引用的AWS AppConfig User Guide中 Step 5: Deploying a configuration 章节。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门