RunCommand——云助手从2.0迈入1.0时代
摘要 是的,你没有看错!云助手RunCommand API发布,执行云助手命令从需要先创建命令(CreateCommand)再执行命令(InvokeCommand)的“二点灵”时代,进入了只需一次RunCommand的“一点灵”时代。 背景 用户在使用云助手的时候,经常会遇到以下场景。 场景一 用户:我要通过云助手去部署环境,命令无法复用,必须每次都要创建一个新的命令么?我:是的。需要先创建一条云助手命令,再执行这条云助手命令。用户:这么麻烦。。。 场景二 用户:我通过OpenAPI调用云助手,执行结果为乱码,为什么???我:请确认输入的命令是否经过Base64编码,如果没有经过Base64编码的命令内容,云助手无法解析哦。用户:不支持直接明文传递命令内容吗?我:暂时不支持。用户:。。。 场景三 用户:我的命令数量超过了quota,无法创建新的命令,影响了我的线上服务,怎么办???我:亲,这边建议把不用的命令清理一下哦。用户:??? 这些场景给用户使用云助手带来了极大的不便和困扰,RunCommand的引入将有效缓解以上问题。 功能介绍 行云流水的执行流程 统计发现,超过80%的云助手命令在创建后只执行了一次,所以先创建命令、再去执行命令的方式,不仅使云助手的执行流程异常繁琐,也极大的提高了用户管理云助手命令的成本。 通过调用RunCommand,用户传入必要信息,如命令内容、目标实例ID等,即可创建并执行一条命令。当命令执行完毕、手动停止或执行失败后,命令会被自动清除,不占用用户创建命令的quota。RunCommand淡化“命令”,强调“执行”,每次RunCommand即是一次执行,可以通过DescribeInvocations和DescribeInvocationResults返回执行的结果。用户不需要关心“命令”的概念,命令执行完成后即被删除,通过DescribeCommands查询也不会返回该命令。我们希望用户能够更加简单的执行云助手命令,下图显示了云助手执行命令流程的变化:两步并为一步,而且不必担心创建命令超过限额。 “一招鲜”的通用接口 RunCommand的定位,是提供一个全新的接口,覆盖掉原有逻辑中不合理的部分,所以RunCommand完全覆盖了CreateCommand的全部功能,包括命令支持自定义参数等。也就是说,今后可以用RunCommand完全代替CreateCommand去创建和执行命令。如果在执行RunCommand时,指定KeepCommand参数为true,则会在此次执行之后仍然保留命令。后续仍可以通过命令ID去执行该命令,行为上完全与CreateCommand创建的命令相同。 DefaultProfile profile […]