调用DescribeInvocations查询云助手命令的执行列表和状态。
接口说明
-
当您执行命令后,不代表命令一定成功运行,并且一定有预期的命令效果。您需要通过接口返回值查看实际执行结果,以实际输出结果为准。
-
您可以查询最近 4 周的执行信息,执行信息的保留上限为 10 万条。
-
您可以通过云助手任务状态事件订阅的方式,通过事件获取任务结果,避免频繁轮询,用以提升效率。
-
分页查询首页时,仅需设置
MaxResults以限制返回信息的条目数,返回结果中的NextToken将作为查询后续页的凭证。查询后续页时,将NextToken参数设置为上一次返回结果中获取到的NextToken作为查询凭证,并设置MaxResults限制返回条目数。 -
DescribeInvocations和DescribeInvocationResults差异点:- 当一次
RunCommand/InvokeCommand调用指定有多个实例时:使用
DescribeInvocations可以获得任务在各个实例上的执行状态、多个实例任务状态的聚合状态;使用
DescribeInvocationResults仅能获得各个实例上的单独的执行状态,不包含多实例的聚合状态;
- 当一次
RunCommand/InvokeCommand调用指定有一个实例时:DescribeInvocations与DescribeInvocationResults区别不大,完全可以互相替换。
当需要查看定时性(周期性)任务、开机自动执行任务(
RepeatMode=Period, EveryReboot)的每一次执行情况时,仅能用DescribeInvocationResults可以查询获得执行的过往历史记录(需指定IncludeHistory=true),而DescribeInvocations仅支持返回最新的任务状态。当需要查看命令的内容、参数时,仅有
DescribeInvocations返回CommandContent。
- 当一次
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
ecs:DescribeInvocations |
get |
Instance
Command
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| RegionId |
string |
是 |
地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 |
cn-hangzhou |
| ResourceGroupId |
string |
否 |
命令执行的资源组 ID。传入该参数后,需要在执行命令时指定 ResourceGroupId,支持筛选出对应的命令执行结果。 |
rg-bp67acfmxazb4p**** |
| RegionId |
string |
是 |
地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 |
cn-hangzhou |
| InvokeId |
string |
否 |
命令执行 ID。 |
t-hz0jdfwd9f**** |
| CommandId |
string |
否 |
命令 ID。您可以通过接口 DescribeCommands 查询所有可用的 CommandId。 |
c-hz0jdfwcsr**** |
| CommandName |
string |
否 |
命令名称。如果同时设置了 |
CommandTestName |
| CommandType |
string |
否 |
命令类型。取值范围:
|
RunShellScript |
| Timed |
boolean |
否 |
查询的命令是否在将来会自动执行。取值范围:
默认值:false。 |
true |
| InvokeStatus |
string |
否 |
命令执行的总执行状态。总执行状态取决于创建执行中的一台或多台实例的共同执行状态。取值范围:
|
Finished |
| InstanceId |
string |
否 |
实例 ID。当您传入了该参数,将查询该实例所有的命令执行记录。 |
i-bp1i7gg30r52z2em**** |
| ContentEncoding |
string |
否 |
设置返回数据中
默认值:Base64。 |
PlainText |
| IncludeOutput |
boolean |
否 |
是否在结果中返回命令运行的输出信息。
默认值:false。 |
false |
| PageNumber |
integer |
否 |
说明
该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。 |
1 |
| PageSize |
integer |
否 |
说明
该参数即将下线,推荐您使用 NextToken 与 MaxResults 完成分页查询操作。 |
10 |
| MaxResults |
integer |
否 |
分页查询时每页的最大条目数。 最大值为 50。 默认值为 10。 |
10 |
| NextToken |
string |
否 |
查询凭证(Token),取值为上一次 API 调用返回的 NextToken 参数值。 |
AAAAAdDWBF2 |
| RepeatMode |
string |
否 |
命令执行的方式。如果同时设置了
默认值为空,表示查询全部。 |
Once |
| Tag |
array<object> |
否 |
标签列表。 |
|
|
object |
否 |
标签列表。 |
||
| Value |
string |
否 |
命令执行的标签值。N 的取值范围为 1~20。该值可以为空字符串。
最多支持 128 个字符,不能包含 |
TestValue |
| Key |
string |
否 |
命令执行的标签键。N 的取值范围为 1~20。一旦传入该值,则不允许为空字符串。 使用一个标签过滤资源,查询到该标签下的资源数量不能超过 1000 个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过 1000 个。如果资源数量超过 1000 个,您需要使用 ListTagResources 接口进行查询。 最多支持 64 个字符,不能以 |
TestKey |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| PageSize |
integer |
每页行数。 |
10 |
| RequestId |
string |
请求 ID。 |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
| PageNumber |
integer |
查询结果的页码。 |
1 |
| TotalCount |
integer |
命令总个数。 |
1 |
| NextToken |
string |
本次调用返回的查询凭证值。 |
AAAAAdDWBF2 |
| Invocations |
object |
||
| Invocation |
array<object> |
命令执行记录组成的数组。 |
|
|
array<object> |
任务创建的时间。 |
||
| OssOutputDelivery |
string |
命令执行 Output OSS 投递配置。 |
oss://testBucket/testPrefix |
| InvocationStatus |
string |
命令执行的总执行状态,总执行状态取决于本次调用的全部实例的共同执行状态,可能值:
说明
返回参数中的 |
Running |
| Parameters |
string |
命令中的自定义参数。 |
{} |
| Timed |
boolean |
查询的命令是否在将来会自动执行。 |
false |
| CommandDescription |
string |
命令描述。 |
testDescription |
| Timeout |
integer |
您创建的命令在 ECS 实例中执行时最大的超时时间,单位:秒。 当因为某种原因无法运行您创建的命令时,会出现超时现象。超时后,会强制终止命令进程,即取消命令的 PID。 |
60 |
| InvokeInstances |
object |
||
| InvokeInstance |
array<object> |
执行目标实例集类型。 |
|
|
object |
执行状态列表。 |
||
| Dropped |
integer |
Output 字段中文字长度超出 24 KB 后,截断丢弃的文字长度。 |
0 |
| InvocationStatus |
string |
单台实例的命令进度状态,可能值:
|
Success |
| InstanceId |
string |
实例 ID。 |
i-bp1i7gg30r52z2em**** |
| Timed |
boolean |
查询的命令是否在将来会自动执行。 |
false |
| InstanceInvokeStatus |
string |
单台实例的命令进度状态。 说明
不推荐查看该返回值,推荐您查看 |
Finished |
| ExitCode |
integer |
命令进程的退出代码。可能值:
|
0 |
| ErrorInfo |
string |
命令的下发失败或执行失败原因的详情,可能值:
|
the specified instance does not exists |
| StartTime |
string |
命令在实例中开始执行的时间。 |
2019-12-20T06:15:55Z |
| Repeats |
integer |
命令在该实例上执行的次数。
|
0 |
| OssOutputUri |
string |
命令执行 Output 投递到 OSS 的文件 URI 地址,当投递失败/投递中时该字段为空字符串。 |
oss://testBucket/testPrefix/output.txt |
| OssOutputStatus |
string |
命令执行 Output 投递状态。枚举值:
|
Finished |
| OssOutputErrorCode |
string |
投递失败时的错误码,仅在 OssOutputStatus 为 Failed 时返回。 取值范围:
|
CloudAssistant.UnsupportedInvocationStatus |
| OssOutputErrorInfo |
string |
投递失败时的错误详情,仅在 OssOutputStatus 为 Failed 时返回。 |
The invocation status does not support output delivery. |
| FinishTime |
string |
命令进程的结束时间。 |
2019-12-20T06:15:56Z |
| Output |
string |
命令的输出信息。
|
OutPutTestmsg |
| CreationTime |
string |
命令执行的开始时间。 |
2019-12-20T06:15:54Z |
| UpdateTime |
string |
命令状态的更新时间。 |
2020-01-19T09:15:47Z |
| ErrorCode |
string |
命令的下发失败或执行失败原因的代码,可能值:
|
InstanceNotExists |
| StopTime |
string |
若调用了 |
2020-01-19T09:15:47Z |
| CommandContent |
string |
命令内容。
|
cnBtIC1xYSB8IGdyZXAgdnNm**** |
| WorkingDir |
string |
命令执行路径。 |
/home/ |
| RepeatMode |
string |
命令执行的方式。可能值:
|
Once |
| InvokeStatus |
string |
命令总的执行状态。 说明
不推荐查看该返回值,推荐您查看 |
Finished |
| CommandType |
string |
命令类型。 |
RunShellScript |
| Username |
string |
ECS 实例中执行命令的用户名称。 |
test |
| ContainerId |
string |
容器 ID。 |
ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** |
| ContainerName |
string |
容器名称。 |
test-container |
| CreationTime |
string |
任务的创建时间。 |
2020-01-19T09:15:46Z |
| Frequency |
string |
定时执行命令的执行时间。 |
0 */20 * * * * |
| Launcher |
string |
脚本执行的引导程序。长度不能超过 1 KB。 |
python3 -u {{ACS::ScriptFileName|Ext(".py")}} |
| CommandId |
string |
命令 ID。 |
c-hz0jdfwcsr**** |
| CommandName |
string |
命令名称。 |
CommandTestName |
| InvokeId |
string |
命令执行 ID。 |
t-hz0jdfwd9f**** |
| TerminationMode |
string |
停止任务(手动停止或执行超时打断)时的模式。可能值:
|
ProcessTree |
| Tags |
object |
||
| Tag |
array<object> |
命令执行的标签信息。 |
|
|
object |
命令执行的标签信息。 |
||
| TagKey |
string |
命令执行的标签键。 |
owner |
| TagValue |
string |
命令执行的标签值。 |
zhangsan |
示例
正常返回示例
JSON格式
{
"PageSize": 10,
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"PageNumber": 1,
"TotalCount": 1,
"NextToken": "AAAAAdDWBF2",
"Invocations": {
"Invocation": [
{
"OssOutputDelivery": "oss://testBucket/testPrefix",
"InvocationStatus": "Running",
"Parameters": "{}",
"Timed": false,
"CommandDescription": "testDescription",
"Timeout": 60,
"InvokeInstances": {
"InvokeInstance": [
{
"Dropped": 0,
"InvocationStatus": "Success",
"InstanceId": "i-bp1i7gg30r52z2em****",
"Timed": false,
"InstanceInvokeStatus": "Finished",
"ExitCode": 0,
"ErrorInfo": "the specified instance does not exists",
"StartTime": "2019-12-20T06:15:55Z",
"Repeats": 0,
"OssOutputUri": "oss://testBucket/testPrefix/output.txt",
"OssOutputStatus": "Finished",
"OssOutputErrorCode": "CloudAssistant.UnsupportedInvocationStatus",
"OssOutputErrorInfo": "The invocation status does not support output delivery.",
"FinishTime": "2019-12-20T06:15:56Z",
"Output": "OutPutTestmsg",
"CreationTime": "2019-12-20T06:15:54Z",
"UpdateTime": "2020-01-19T09:15:47Z",
"ErrorCode": "InstanceNotExists",
"StopTime": "2020-01-19T09:15:47Z"
}
]
},
"CommandContent": "cnBtIC1xYSB8IGdyZXAgdnNm****",
"WorkingDir": "/home/",
"RepeatMode": "Once",
"InvokeStatus": "Finished",
"CommandType": "RunShellScript",
"Username": "test",
"ContainerId": "ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****",
"ContainerName": "test-container",
"CreationTime": "2020-01-19T09:15:46Z",
"Frequency": "0 */20 * * * *",
"Launcher": "python3 -u {{ACS::ScriptFileName|Ext(\".py\")}}",
"CommandId": "c-hz0jdfwcsr****",
"CommandName": "CommandTestName",
"InvokeId": "t-hz0jdfwd9f****",
"TerminationMode": "ProcessTree",
"Tags": {
"Tag": [
{
"TagKey": "owner",
"TagValue": "zhangsan"
}
]
}
}
]
}
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | 指定地域下不支持调用 API。请检查 RegionId 参数取值是否正确。 |
| 400 | NumberExceed.Tags | The Tags parameter number is exceed. | 标签个数超过最大限制。 |
| 400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | 标签中存在重复的键,请保持键的唯一性。 |
| 400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | 指定的标签键参数有误。 |
| 400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | 指定的标签值参数有误。 |
| 400 | MissingParameter.TagKey | You must specify Tag.N.Key. | 请指定标签键。 |
| 400 | InvalidParam.PageNumber | The specified parameter is invalid. | |
| 400 | InvalidParam.PageSize | The specified parameter is invalid. | |
| 400 | InvalidParameter.NextToken | The specified parameter NextToken is not valid. | 指定的参数NextToken不合法。 |
| 400 | InvalidParameter.MaxResults | The specified parameter MaxResults is not valid. | 指定的参数MaxResults不合法。 |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | 发送请求时发生错误,请稍后重试。 |
| 403 | Operation.Forbidden | The operation is not permitted. | 该操作是不被允许的。 |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | 地域信息错误 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。