
# 实例安装app - InstallApp
#### 功能介绍
调用此接口可以向云机实例批量安装app。调用此接口时，根据入参fast_install的取值，决定是普通安装还是快速安装。
接口返回当前安装任务的task_id，此task_id有固定前缀"ZGCA"。
用户根据返回的task_id，调用GetTask实例执行任务查询接口去查询执行结果。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/KooPhone/doc?api=InstallApp)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-koophone/kp_01_0009.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                            | 访问级别  | 资源类型（\*为必须）           | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | koophone:cloudphoneResource:instanceAppInstall | Write | cloudphoneResource \* | -   | -  | -      |
     
  
 
#### URI
POST /v1/instances/app/install
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| x-request-id | 否    | String | 消息跟踪唯一ID |
| x-Auth-Token | 否    | String | 租户级token |
   
表2请求Body参数 
| 参数                  | 是否必选 | 参数类型             | 描述                                                          |
|:---|:---|:---|:---|
| fast_install        | 否    | String           | 安装类型。0：普通安装，1：快速安装                                          |
| object_name         | 是    | String           | 安装后的应用包名。最大长度100个字符，示例：com.tencent.mm                       |
| file_name           | 是    | String           | 文件名称（包括后缀）。最大长度100个字符，示例：meituan.apk                        |
| object_version      | 是    | String           | 应用包版本号。最大长度100个字符，示例：8.0.58                                 |
| object_size         | 是    | String           | 应用大小。示例：120，单位MB                                            |
| biz_type            | 是    | String           | 安装包类型。最大长度64个字符，示例：apk，目前只支持apk应用安装                         |
| content_type        | 是    | String           | 传输方式。最大长度64个字符，1：obs，目前只支持obs下载，示例：application/octet-stream |
| content_md5         | 是    | String           | apk文件的md5值校验。可以为空，非必填参数，最大长度200个字符                          |
| install_package_url | 是    | String           | apk包的obs下载链接url，最大长度2000个字符                                 |
| instance_id_list    | 是    | Array of strings | 云机实例列表，单个实例最长32个字符，列表最长100列                                 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数         | 参数类型                                                                                           | 描述      |
|:---|:---|:---|
| error_code | String                                                                                         | 错误码     |
| error_msg  | String                                                                                         | 错误信息    |
| data       | [RmInstallAppDataResult]object | app安装结果 |
   
 表4RmInstallAppDataResult 
| 参数       | 参数类型                                                                     | 描述   |
|:---|:---|:---|
| cmd_jobs | Array of [CmdJob]objects | 命令任务 |
| task_id  | String                                                                   | 任务id |
   
 表5CmdJob 
| 参数          | 参数类型   | 描述       |
|:---|:---|:---|
| instance_id | String | 实例列表     |
| job_id      | String | 异步命令任务id |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | 0：成功 KOOPHONE.API.1000：请求参数错误 KOOPHONE.API.1001：没有实例权限 KOOPHONE.API.3008：请求参数中的安装类型参数fast_install错误 KOOPHONE.API.62005：app包已经存在 KOOPHONE.API.62006：app应用包大小不是数字 KOOPHONE.API.62006：app应用包的大小超过限制 KOOPHONE.API.62016：租户下上传的总的应用包大小超过总限制 KOOPHONE.API.3009：查询phoneId错误 KOOPHONE.API.9999：服务内部错误 |
| error_msg  | String | 错误信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
#### 请求示例
实例安装app请求参数
```
/v1/instances/app/install
{
  "fast_install" : 1,
  "object_name" : "com.tencent.mm",
  "file_name" : "meituan.apk",
  "object_version" : "8.0.58",
  "object_size" : 120,
  "biz_type" : "apk",
  "content_type" : "application/octet-stream",
  "content_md5" : "fghfg",
  "install_package_url" : "https://obs-kpxa-zg.obs.cn-north-7.ulanqab.huawei.com:443/chp_admin/sh/KooPhone/1943225155684069378/1752229415749-2-com.tencent.mm.apk?AccessKeyId=HSTAZ7UE1341BOE861H2&Expires=1753252931&x-obs-security-token=hQpjbi1ub3J0aC03AQAABElIU1RBWjdVRTEzNDFCT0U4NjFIMo-pbpW_du_lXkPTraoMwCYVql1frNdxH_jI3n5jbQHT6gQxKRmZB9zIy8W11u7BnLAZQnxrX8SDIZQV1jvlf9HQbIdvncUjU4YhVximnMUckrYQEDlTUYjrXKxG9bXYeAHt66g7iODBfCRVLvx1jUkA4thsItjcQ-iPGR20FBi2qbk_AF5iOGT0Ig72UjqIVYo_JTbkDWRiAUr4uludn84f_CgYjTPE025u8A_VO2l4yij3cl4TSRxdNxM2gpS8g3vDWpLCZ2UTYbej5dBzQs-yizVaCZmh-kN3A0JmWIvGpOvkSEhKYyWqAonB5UXzO954oj8Oso2nl2UahCVlUtgkGoxMaufkABN_4odeQOFnTYUyxb01aGD3Sv_UQSA_9Tnmy71Hp3ASq6mxF3xLQfrDzDM9Yk0FkZ4t-DQ5FhfQ22L8bR9ru_bmIS6y9XlPC5gxmLp-2APJpUQMDn703Pyr7us4cc-iTA3MiB_rFywCidsDCnw4uwnBwKzvz9qXNhBrNMyvPHSphqT2TsuGaU_-0x_y8KFBdgnJQXLyM1mQY5I0eFOxA3H8WgOTJCL1oQ76Zkg-KXM7UjS_WWU-TFqSIhL-dauPadneL8kai1BS7bsIsg%3D%3D&Signature=BdSN1CfLprzjlaFUGFfnkU5d7lg%3D",
  "instance_id_list" : [ "XvH39QVW", "Vpp8rC4Y" ]
}
```
#### 响应示例
**状态码：200**
实例安装app返参
```
{
  "data" : {
    "task_id" : "ZGCAorI8ocwK7U7_t0AfH26P-DjwDw8Yknf4",
    "cmd_jobs" : [ {
      "instance_id" : "XvH39QVW",
      "job_id" : "L0XM9bL0sFoKJo-6BEjFzN6ut2jsoH_1"
    }, {
      "instance_id" : "Vpp8rC4Y",
      "job_id" : "1564567b8bab40f34711234cb80d0123"
    } ]
  },
  "error_code" : "0",
  "error_msg" : "OK"
}
```
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 实例安装app返参 |
| 400 | 错误信息      |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koophone/ErrorCode.html)。
