
# 实例执行异步命令 - AsyncCommand
#### 功能介绍
实例执行异步命令接口。
调用此api的前提条件是租户需要先购买实例。
可以通过调用该接口实现对自己的实例进行异步adb指令操作。
调用完该接口后携带该接口返回的task_id去调用实例执行任务查询接口。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/KooPhone/doc?api=AsyncCommand)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-koophone/kp_01_0009.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                             | 访问级别  | 资源类型（\*为必须）           | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | koophone:cloudphoneResource:asyncInvokeInstance | Write | cloudphoneResource \* | -   | -  | -      |
     
  
 
#### URI
POST /v1/instances/async-command
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| x-request-id | 是    | String | 消息跟踪唯一id |
| X-Auth-Token | 是    | String | 租户级Token |
   
表2请求Body参数 
| 参数           | 是否必选 | 参数类型             | 描述                                                        |
|:---|:---|:---|:---|
| command      | 是    | String           | 命令，最大长度为1024字节，只支持大小写字母、数字、下划线（_）、点（.）、斜线（/）、冒号（:）、中划线（-） |
| instance_ids | 是    | Array of strings | 实例列表，单个实例最长32个字符，列表最长100列                                 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数         | 参数类型                                                                                                  | 描述                              |
|:---|:---|:---|
| error_code | String                                                                                                | 响应码，错误码规范KooPhone.API.1001，数字递增 |
| error_msg  | String                                                                                                | 响应描述                            |
| data       | [InstanceAsyncCommandsInfo] object | 响应内容                            |
   
 表4InstanceAsyncCommandsInfo 
| 参数       | 参数类型                                                                      | 描述     |
|:---|:---|:---|
| task_id  | String                                                                    | 任务id   |
| cmd_jobs | Array of [CmdJob] objects | 响应任务列表 |
   
 表5CmdJob 
| 参数          | 参数类型   | 描述       |
|:---|:---|:---|
| instance_id | String | 实例列表     |
| job_id      | String | 异步命令任务id |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | 0：成功 KOOPHONE.API.1000：请求参数错误 KOOPHONE.API.1001：没有实例权限 KOOPHONE.API.9999：服务内部错误 |
| error_msg  | String | 错误信息                                                                                                                                                                                                                            |
   
**状态码：500**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | 0：成功 KOOPHONE.API.1000：请求参数错误 KOOPHONE.API.1001：没有实例权限 KOOPHONE.API.9999：服务内部错误 |
| error_msg  | String | 错误信息                                                                                                                                                                                                                            |
   
#### 请求示例
```
/v1/instances/async-command
{
  "command" : "ls -l /system",
  "instance_ids" : [ "a44uhlf7", "efjy72gs" ]
}
```
#### 响应示例
**状态码：200**
正常响应
```
{
  "data" : {
    "task_id" : "6837531fd3f54550927b930180a706bf",
    "cmd_jobs" : [ {
      "instance_id" : "a44uhlf7",
      "job_id" : "1564567b8bab40f34711234cb80d0123"
    }, {
      "instance_id" : "efjy72gs",
      "job_id" : "1564567b8bab40f34711234cb80d0456"
    } ]
  },
  "error_code" : "0",
  "error_msg" : "ok"
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 正常响应 |
| 400 | 错误响应 |
| 500 | 内部错误 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koophone/ErrorCode.html)。
