接口说明
该接口为异步接口,当前请求发送成功后,您可以通过返回的命令 ID 或命令执行 ID 调用 DescribeInvocations 或者 DescribeInvocationResults 查询执行结果。
使用须知
- 目标实例的状态为运行中(
Running
),您可以调用 DescribeInstances 查询。 - 目标实例已经预先安装云助手 Agent,您可以通过 InstallCloudAssistant 进行安装,并通过 DescribeCloudAssistantStatus 查询安装状态。
说明 2017 年 12 月 01 日之后使用公共镜像创建的 ECS 实例,默认预装了云助手 Agent。
- 执行 PowerShell 类型的命令时,您需要确保目标 ECS 实例的 Windows 操作系统已经配置了 PowerShell 模块。
注意事项
-
在一个地域下,您最多可以保有 500~50,000 条云助手命令,您也可以申请提升配额,请参见配额管理。
-
云助手 Agent 版本需要不低于以下对应的版本才能支持定时任务的新特性(固定时间间隔执行、仅在指定时间执行一次、基于 Cron 表达式定时执行时指定年份或时区)。如果结果返回
ClientNeedUpgrade
错误码,请参见升级或禁止升级云助手 Agent,将客户端更新至最新版本。- Linux:2.2.3.282。 - Windows:2.1.3.282。
-
当您基于 Cron 表达式执行定时任务且指定了时区,时钟定时执行时间设置基准为您指定的时区;当您没有指定时区时,时钟定时执行时间设置基准为 ECS 实例内的系统时区,且执行时间以实例的系统时间为准。请确保 ECS 实例的时间或者时区与您预期的时间一致。关于时区的更多信息,请参见设置 Linux 实例时区和 NTP 服务或设置 Windows 实例 NTP 服务。
使用建议
- 超时设置:您可以通过指定参数
Timeout
为命令设置在 ECS 实例中执行时最大的超时时间,命令执行超时后,云助手 Agent 会强制终止进程。- 单次执行超时后,命令的执行状态( InvokeRecordStatus )变为执行失败(Failed)。
- 定时执行的超时时间对每一次执行记录均有效,上次执行超时不影响下一次执行。某次执行超时后,执行状态( InvokeRecordStatus )变为执行失败(Failed)。
- 执行失败:命令可能会因为目标实例的状态异常、网络异常或云助手 Agent 异常而出现无法执行的情况,无法执行时不会生成执行信息。更多信息,请参见执行失败常见错误及修复建议。
- 自定义参数:
EnableParameter=true
时会启用自定义参数功能。在设置CommandContent
时可以通过{{parameter}}
的形式表示自定义参数,并在运行命令时,传入自定义参数键值对。
流控信息
请求参数
字段名称 | 字段详情 |
---|---|
RegionIdstring | 地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 示例值:cn-hangzhou参考取值来源: DescribeRegions |
ResourceGroupIdstring | 命令执行的资源组 ID,当指定该参数时:展开详情 示例值:rg-bp67acfmxazb4p****参考取值来源: DescribeSecurityGroups |
Namestring | 命令名称。支持全字符集,长度不得超过 128 个字符。 示例值:testName |
Descriptionstring | 命令描述。支持全字符集,长度不得超过 512 个字符。 示例值:testDescription |
Typestring | 命令类型。取值范围:展开详情 示例值:RunShellScript |
CommandContentstring | 命令内容。命令内容可以是明文内容或 Base64 编码后的内容。您需要注意:展开详情 示例值:ZWNobyAxMjM= |
WorkingDirstring | 命令在 ECS 实例中的运行目录。长度不得超过 200 个字符。展开详情 示例值:/home/user |
Timeoutinteger<int64> | |
EnableParameterboolean | 命令中是否包含自定义参数。展开详情 示例值:false |
RepeatModestring | 设置命令执行的方式。取值范围:展开详情 示例值:Once |
Timedboolean | 说明
该参数已废弃,传入该参数不会生效。
示例值:true |
Frequencystring | 定时执行命令的执行时间。目前支持三种定时执行方式:固定时间间隔执行(基于 Rate 表达式)、仅在指定时间执行一次、基于时钟定时执行(基于 Cron 表达式)。展开详情 示例值:0 */20 * * * ? |
Parametersobject | 命令中包含自定义参数时,执行命令时传入的自定义参数的键值对。例如,命令内容为 示例值:{"name":"Jack", "accessKey":"LTAI*************"} |
KeepCommandboolean | 执行完该命令后,是否保留下来。取值范围:展开详情 示例值:false |
ContentEncodingstring | 命令内容( 示例值:Base64 |
Usernamestring | 在 ECS 实例中执行命令的用户名称。长度不得超过 255 个字符。展开详情 示例值:test |
WindowsPasswordNamestring | 在 Windows 实例中执行命令的用户的密码名称。长度不得超过 255 个字符。展开详情 示例值:axtSecretPassword |
InstanceIdarray<string> | ECS 实例 ID 数组,数组长度:1~100。展开详情 示例值:i-bp185dy2o3o6neg****子级条数 <= 501 |
Tagarray<object> | 标签对数组,数组长度:0~20。 子级条数 <= 21 |
ContainerIdstring | 容器 ID。仅支持 64 位 16 进制字符串,允许存在 示例值:ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** |
ContainerNamestring | 容器名称。展开详情 示例值:test-container |
ClientTokenstring | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。 示例值:123e4567-e89b-12d3-a456-426655440000 |
ResourceTagarray<object> | 用于筛选实例的标签数组,数组长度:0~20。可以在不指定 InstanceId 的情况下,向具有相同标签的实例批量执行命令。 子级条数 <= 11 |
TerminationModestring | 停止任务(手动停止或执行超时打断)时的模式。可能值:展开详情 示例值:ProcessTree |
Launcherstring | 脚本执行的引导程序。长度不能超过 1 KB。 示例值:python3 -u {{ACS::ScriptFileName|Ext(".py")}} |
返回参数
字段名称 | 字段详情 |
---|---|
RequestIdstring | 请求 ID。 示例值:473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
CommandIdstring | 命令 ID。 示例值:c-7d2a745b412b4601b2d47f6a768d**** |
InvokeIdstring | 命令执行 ID。 示例值:t-7d2a745b412b4601b2d47f6a768d**** |