调用DescribeInvocations查询云助手命令的执行列表和状态。
接口说明
-
当您执行命令后,不代表命令一定成功运行,并且一定有预期的命令效果。您需要通过接口返回值查看实际执行结果,以实际输出结果为准。
-
您可以查询最近 4 周的执行信息,执行信息的保留上限为 10 万条。
-
您可以通过云助手任务状态事件订阅的方式,通过事件获取任务结果,避免频繁轮询,用以提升效率。
-
支持以下两种方式查看返回数据:
- 方式一:分页查询首页时,仅需设置
MaxResults
以限制返回信息的条目数,返回结果中的NextToken
将作为查询后续页的凭证。查询后续页时,将NextToken
参数设置为上一次返回结果中获取到的NextToken
作为查询凭证,并设置MaxResults
限制返回条目数。 - 方式二:通过
PageSize
设置单页返回的条目数,再通过PageNumber
设置页码。以上两种方式只能任选其中之一。如果设置了MaxResults
或NextToken
参数,则请求参数PageSize
和PageNumber
将失效,且返回数据中的TotalCount
无效。
- 方式一:分页查询首页时,仅需设置
-
DescribeInvocations
和DescribeInvocationResults
差异点:- 当一次
RunCommand
/InvokeCommand
调用指定有多个实例时:- 使用
DescribeInvocations
可以获得任务在各个实例上的执行状态、多个实例任务状态的聚合状态; - 使用
DescribeInvocationResults
仅能获得各个实例上的单独的执行状态,不包含多实例的聚合状态;
- 使用
- 当一次
RunCommand
/InvokeCommand
调用指定有一个实例时:DescribeInvocations
与DescribeInvocationResults
区别不大,完全可以互相替换。
- 当需要查看定时性(周期性)任务、开机自动执行任务(
RepeatMode=Period, EveryReboot
)的每一次执行情况时,仅能用DescribeInvocationResults
可以查询获得执行的过往历史记录(需指定IncludeHistory=true
),而DescribeInvocations
仅支持返回最新的任务状态。 - 当需要查看命令的内容、参数时,仅有
DescribeInvocations
返回CommandContent
。
- 当一次
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ecs:DescribeInvocations | get | *全部资源 * |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
ResourceGroupId | string | 否 | 命令执行的资源组 ID。传入该参数后,需要在执行命令时指定 ResourceGroupId,支持筛选出对应的命令执行结果。 | rg-bp67acfmxazb4p**** |
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 | long | 否 | 当前页码。 起始值:1。 默认值:1。 | 1 |
PageSize | long | 否 | 分页查询时设置的每页行数。 最大值:50。 默认值:10。 | 10 |
MaxResults | integer | 否 | 分页查询时每页的最大条目数。 最大值为 50。 默认值为 10。 | 10 |
NextToken | string | 否 | 查询凭证(Token),取值为上一次 API 调用返回的 NextToken 参数值。 | AAAAAdDWBF2 |
RepeatMode | string | 否 | 命令执行的方式。如果同时设置了
默认值为空,表示查询全部。 | Once |
Tag | array<object> | 否 | 标签列表。 | |
object | 否 | 标签列表。 | ||
Key | string | 否 | 命令执行的标签键。N 的取值范围为 1~20。一旦传入该值,则不允许为空字符串。 使用一个标签过滤资源,查询到该标签下的资源数量不能超过 1000 个;使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过 1000 个。如果资源数量超过 1000 个,您需要使用 ListTagResources 接口进行查询。 最多支持 64 个字符,不能以 | TestKey |
Value | string | 否 | 命令执行的标签值。N 的取值范围为 1~20。该值可以为空字符串。
最多支持 128 个字符,不能包含 | TestValue |
返回参数
示例
正常返回示例
JSON
格式
{
"PageSize": 10,
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"PageNumber": 1,
"TotalCount": 1,
"NextToken": "AAAAAdDWBF2",
"Invocations": {
"Invocation": [
{
"CreationTime": "2020-01-19T09:15:46Z",
"Frequency": "0 */20 * * * *",
"InvocationStatus": "Running",
"RepeatMode": "Once",
"CommandId": "c-hz0jdfwcsr****",
"CommandType": "RunShellScript",
"InvokeStatus": "Finished",
"Parameters": "{}",
"Timed": false,
"CommandContent": "cnBtIC1xYSB8IGdyZXAgdnNm****",
"CommandName": "CommandTestName",
"CommandDescription": "testDescription",
"InvokeId": "t-hz0jdfwd9f****",
"Username": "test",
"WorkingDir": "/home/",
"Timeout": 60,
"ContainerId": "ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea****",
"ContainerName": "test-container",
"TerminationMode": "ProcessTree",
"Launcher": "python3 -u {{ACS::ScriptFileName|Ext(\".py\")}}",
"InvokeInstances": {
"InvokeInstance": [
{
"CreationTime": "2019-12-20T06:15:54Z",
"UpdateTime": "2020-01-19T09:15:47Z",
"FinishTime": "2019-12-20T06:15:56Z",
"InvocationStatus": "Success",
"Repeats": 0,
"InstanceId": "i-bp1i7gg30r52z2em****",
"Output": "OutPutTestmsg",
"Dropped": 0,
"StopTime": "2020-01-19T09:15:47Z",
"ExitCode": 0,
"StartTime": "2019-12-20T06:15:55Z",
"ErrorInfo": "the specified instance does not exists",
"Timed": false,
"ErrorCode": "InstanceNotExists",
"InstanceInvokeStatus": "Finished"
}
]
},
"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. | 指定的 PageNumber 参数无效。 |
400 | InvalidParam.PageSize | The specified parameter is invalid. | 指定的 PageSize 参数无效。 |
400 | InvalidParameter.NextToken | The specified parameter NextToken is not valid. | 指定的参数NextToken不合法。 |
400 | InvalidParameter.MaxResults | The specified parameter MaxResults is not valid. | 指定的参数MaxResults不合法。 |
403 | Operation.Forbidden | The operation is not permitted. | 该操作是不被允许的。 |
404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | 提供的RegionId不存在 |
500 | InternalError.Dispatch | An error occurred when you dispatched the request. | 发送请求时发生错误,请稍后重试。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-08-01 | OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-05-14 | OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-12-21 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-05-12 | OpenAPI 错误码发生变更 | 查看变更详情 |
2022-07-07 | OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2022-06-22 | OpenAPI 错误码发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |
2021-05-12 | OpenAPI 错误码发生变更 | 查看变更详情 |