You need to enable JavaScript to run this app.
导航
实例管理
最近更新时间:2024.10.29 19:42:43首次发布时间:2024.08.23 11:16:34
复制全文
我的收藏
有用
有用
无用
无用

阅读本文,您可以获取 Java SDK 实例管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Java SDK 的安装及初始化操作。

调用示例

本节为您介绍实例管理相关接口的功能和调用示例。

创建实例 CreatePod

您可以调用 CreatePod 接口创建实例 CreatePod。详细的参数说明可参见 CreatePod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class CreatePodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    CreatePodBody body = new CreatePodBody();

    // 实例所归属的业务 ID。
    body.setProductId("1591495366954xxxxxx");
    // 自定义实例名称,如不指定,则默认为实例 ID。
    // note:
    // 批量创建实例时为实例名称前缀。
    body.setPodName("新建实例");
    // 自定义镜像 ID,如不指定,则默认使用平台提供的官方标准镜像。
    body.setImageId("img-76xxxxxx");
    // 运行资源的套餐规格 ID,取值如下:
    // <li> ultimate:旗舰型 </li>
    // <li> enhanced:加强型 </li>
    // <li> common:通用型 </li>
    // <li> sample:入门型 </li>
    // <li> basic:基础型 </li>
    // <li> elementary:低配型 </li>
    // <li> ultimatePlus:旗舰型Plus </li>
    // <li> enhancedPlus:加强型Plus </li>
    // <li> commonPlus:通用型Plus </li>
    // <li> samplePlus:入门型Plus </li>
    // <li> basicPlus:基础型Plus </li>
    // <li> elementaryPlus:低配型Plus </li>
    // 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
    // <li> ultimatePro:旗舰型Pro </li>
    // <li> enhancedPro:加强型Pro </li>
    // <li> commonPro:通用型Pro </li>
    // <li> samplePro:入门型Pro </li>
    // <li> basicPro:基础型Pro </li>
    // <li> elementaryPro:低配型Pro </li>
    // note:
    // 批量创建实例时,如 PodSpecList 中未指定套餐 ID,则该参数为必选。
    body.setConfigurationCode("enhanced");
    // 创建实例的用户存储分区大小,即 data 分区容量大小。可选的容量如下:
    // <li> 4Gi  </li>
    // <li> 8Gi  </li>
    // <li> 16Gi  </li>
    // <li> 32Gi  </li>
    // <li> 64Gi  </li>
    // <li> 128Gi  </li>
    // <li> 256Gi </li>
    // note:
    // <li> 当 ResourceType 参数取值为 100 时,该 DataSize 参数用户可根据支持的可选容量设置。 </li>
    // <li> 当 ResourceType 参数取值为 200 时,DataSize 为默认固定值,无需指定。与套餐的对应关系为: </li>
    // <li> ultimate: 74Gi </li>
    // <li> enhanced:37Gi </li>
    // <li> common:24Gi </li>
    // <li> sample:18Gi </li>
    // <li> basic:14Gi </li>
    // <li> elementary:12Gi </li>
    // <li> 容量大小和单位不可自定义。 </li>
    // <li> 建议您在调用时,结合实际业务情况,按需填写存储大小。 </li>
    body.setDataSize("4Gi");
    // 机房 ID。
    // note:
    // <li> 创建单个实例时,此参数必填,用于指定创建实例的机房。 </li>
    // <li> 批量创建实例时: </li>
    // <li> 如 PodSpecList 中**未指定**机房 ID,则该参数**必填**。 </li>
    // <li> 如 PodSpecList 中**已指定**机房 ID,则该参数**选填**。 </li>
    body.setDc("gdsz-ctcucm-01-xxxxxxxx");
    // 屏幕布局,全局屏幕配置;可通过调用 [ListDisplayLayoutMini](https://www.volcengine.com/docs/6394/1221495) 接口获取;可选的系统屏幕布局 ID 包括:
    // <li> single-display-landscape </li>
    // <li> single-display-portrait </li>
    // <li> single-display-portrait-720p </li>
    //
    // note:
    // 如未指定屏幕布局 ID,当运行资源套餐 ConfigurationCode 为
    // 入门型 sample ,云手机实例将会使用 720P 和 30fps 的默认配置。
    body.setDisplayLayoutId("single-display-portrait");

    // 实例初始化 Settings 属性列表。
    List<com.volcengine.model.acep.v20231030.RequestSettings> OverlaySettings =
      new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestSettings OverlaySettings1 =
      new com.volcengine.model.acep.v20231030.RequestSettings();

    OverlaySettings.add(OverlaySettings1);
    body.setOverlaySettings(OverlaySettings);

    // 实例初始化系统属性,非持久化,立即生效,重启实例后失效。
    List<
      com.volcengine.model.acep.v20231030.RequestSystemProperty
    > OverlayProperty = new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestSystemProperty OverlayProperty1 =
      new com.volcengine.model.acep.v20231030.RequestSystemProperty();

    OverlayProperty.add(OverlayProperty1);
    body.setOverlayProperty(OverlayProperty);

    // 实例初始化系统属性,持久化,重启实例后生效。
    // note:
    // 适用于只读系统属性,或 AOSP 原生非持久化的系统属性的修改,如 ro.product.model
    List<
      com.volcengine.model.acep.v20231030.RequestSystemProperty
    > OverlayPersistProperty = new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestSystemProperty OverlayPersistProperty1 =
      new com.volcengine.model.acep.v20231030.RequestSystemProperty();

    OverlayPersistProperty.add(OverlayPersistProperty1);
    body.setOverlayPersistProperty(OverlayPersistProperty);
    // 创建完成后是否立即开机。取值如下:
    // <li> true:开机 </li>
    // <li> false:(默认)关机 </li>
    body.setStart(false);
    // 自定义标签。支持中英文、数字、点号、下划线或中划线,以大小写字母或者中文开头。
    body.setTagId("01");
    // 实例上行带宽上限,单位:Mbps;如设置为 0,则不限速。
    body.setUpBandwidthLimit(0);
    // 实例下行带宽上限,单位:Mbps;如设置为 0,则不限速。
    body.setDownBandwidthLimit(0);

    // 批量创建实例时,指定实例配置定义。
    List<com.volcengine.model.acep.v20231030.RequestPodSpec> PodSpecList =
      new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestPodSpec PodSpecList1 =
      new com.volcengine.model.acep.v20231030.RequestPodSpec();

    PodSpecList.add(PodSpecList1);
    body.setPodSpecList(PodSpecList);

    // 端口映射 ID 列表。
    List<String> PortMappingRuleIdList = new ArrayList<>();

    PortMappingRuleIdList.add("7338891742281xxxxxx");
    body.setPortMappingRuleIdList(PortMappingRuleIdList);
    // 云机 ID。可通过 [ListHost](https://www.volcengine.com/docs/6394/1221480) 接口获取。
    // note:
    // 当 ResourceType 参数取值为 200 本地存储时,该参数才生效。
    body.setHostId("h-7340161778808xxxxxx");
    // 实例资源类型。取值如下:
    // <li> 100:云盘存储 </li>
    // <li> 200:本地存储 </li>
    body.setResourceType(100);
    // 选择想要使用的机型参数名称,选填。当 UserPropertyRule 设置为 1 时,若该参数置空,则从机型库中随机选择一条规则。
    // warning
    // 对于同一属性,通过 OverlaySettings、OverlayProperty、OverlayPersistProperty 设置的值优先级高于本参数中预设的值。
    body.setPropertyRuleName("HW");
    // 是否使用预设的机型参数。
    // <li> 1:使用; </li>
    // <li> 2:不使用,默认设置。 </li>
    // warning
    // 前提:已通过 AddPropertyRule 创建机型参数规则。
    body.setUsePropertyRule(1);

    try {
      CreatePodRes resp = service.createPod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

创建实例并部署应用 CreatePodOneStep

您可以调用 CreatePodOneStep 接口创建实例并部署应用 CreatePodOneStep。详细的参数说明可参见 CreatePodOneStep 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class CreatePodOneStepDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    CreatePodOneStepBody body = new CreatePodOneStepBody();

    // 实例所归属的业务 ID。
    body.setProductId("1591495366954xxxxxx");
    // 自定义实例名称,如不指定,则默认为实例 ID。
    body.setPodName("测试实例");
    // 自定义镜像 ID,如不指定,则默认使用平台提供的官方标准镜像。
    body.setImageId("img-7616xxxx");
    // 云手机实例规格 ID,可选项为:
    // <li> ultimate:旗舰型 </li>
    // <li> enhanced:加强型 </li>
    // <li> common:通用型 </li>
    // <li> sample:入门型 </li>
    // <li> basic:基础型 </li>
    // <li> elementary:低配型 </li>
    // <li> ultimatePlus:旗舰型Plus </li>
    // <li> enhancedPlus:加强型Plus </li>
    // <li> commonPlus:通用型Plus </li>
    // <li> samplePlus:入门型Plus </li>
    // <li> basicPlus:基础型Plus </li>
    // <li> elementaryPlus:低配型Plus </li>
    // 对于本地存储方案,除上述 12 种规格外,还包含以下 6 种规格:
    // <li> ultimatePro:旗舰型Pro </li>
    // <li> enhancedPro:加强型Pro </li>
    // <li> commonPro:通用型Pro </li>
    // <li> samplePro:入门型Pro </li>
    // <li> basicPro:基础型Pro </li>
    // <li> elementaryPro:低配型Pro </li>
    body.setConfigurationCode("enhanced");
    // 创建实例的用户存储分区大小,即 data 分区容量大小,可选的容量如下:
    // <li> 4Gi </li>
    // <li> 8Gi </li>
    // <li> 16Gi </li>
    // <li> 32Gi </li>
    // <li> 64Gi </li>
    // <li> 128Gi </li>
    // <li> 256Gi </li>
    //
    // note:
    // <li> 当 ResourceType 参数取值为 100 时,该 DataSize 参数用户可根据支持的可选容量设置。 </li>
    // <li> 当 ResourceType 参数取值为 200 时,DataSize 为默认固定值,无需指定。与套餐的对应关系为:  </li>
    // <li> ultimate: 74Gi </li>
    // <li> enhanced:37Gi </li>
    // <li> common:24Gi </li>
    // <li> sample:18Gi </li>
    // <li> basic:14Gi </li>
    // <li> elementary:12Gi </li>
    // <li> 容量大小和单位不可自定义。 </li>
    // <li> 建议您在调用时,结合实际业务情况,按需填写存储大小。 </li>
    body.setDataSize("4Gi");
    // 机房 ID。
    body.setDc("gdsz-ctcucm-01-5fxxxxxx");
    // 屏幕布局,全局屏幕配置;可通过调用 [ListDisplayLayoutMini](https://www.volcengine.com/docs/6394/1221495) 接口获取;可选的系统屏幕布局 ID 包括:
    // <li> single-display-landscape </li>
    // <li> single-display-portrait </li>
    // <li> single-display-portrait-720p </li>
    //
    // note:
    // 如未指定屏幕布局 ID,当运行资源套餐 ConfigurationCode 为
    // 入门型 sample ,云手机实例将会使用 720P 和 30fps 的默认配置。
    body.setDisplayLayoutId("single-display-landscape");

    // 实例初始化 Settings 属性。
    List<com.volcengine.model.acep.v20231030.RequestSettings> OverlaySettings =
      new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestSettings OverlaySettings1 =
      new com.volcengine.model.acep.v20231030.RequestSettings();

    OverlaySettings.add(OverlaySettings1);
    body.setOverlaySettings(OverlaySettings);

    // 实例初始化系统属性,非持久化,立即生效,重启实例后失效。
    List<
      com.volcengine.model.acep.v20231030.RequestSystemProperty
    > OverlayProperty = new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestSystemProperty OverlayProperty1 =
      new com.volcengine.model.acep.v20231030.RequestSystemProperty();

    OverlayProperty.add(OverlayProperty1);
    body.setOverlayProperty(OverlayProperty);

    // 实例初始化系统属性,持久化,重启实例后生效。
    // note:
    // 适用于只读系统属性,或 AOSP 原生非持久化的系统属性的修改,如 ro.product.model
    List<
      com.volcengine.model.acep.v20231030.RequestSystemProperty
    > OverlayPersistProperty = new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestSystemProperty OverlayPersistProperty1 =
      new com.volcengine.model.acep.v20231030.RequestSystemProperty();

    OverlayPersistProperty.add(OverlayPersistProperty1);
    body.setOverlayPersistProperty(OverlayPersistProperty);
    // 自定义标签。支持中英文、数字、点号、下划线或中划线,以大小写字母或者中文开头。
    body.setTagId("tag_01");
    // 实例上行带宽上限,单位为 Mbps;如设置为 0,则不限速。
    body.setUpBandwidthLimit(0);
    // 实例下行带宽上限,单位为 Mbps;如设置为 0,则不限速。
    body.setDownBandwidthLimit(0);

    // 创建实例后,需要安装的应用列表。
    List<com.volcengine.model.acep.v20231030.RequestAppInfo> AppList =
      new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestAppInfo AppList1 =
      new com.volcengine.model.acep.v20231030.RequestAppInfo();

    AppList.add(AppList1);
    body.setAppList(AppList);
    // 云机 ID。可通过 [ListHost](https://www.volcengine.com/docs/6394/1221480) 接口获取。
    // note:
    // 当 ResourceType 参数取值为 200 本地存储时,该参数才有效。
    body.setHostId("7337159054625xxxxxx");
    // 实例资源类型,取值如下:
    // <li> 100:云盘存储 </li>
    // <li> 200:本地存储 </li>
    body.setResourceType(200);
    body.setIsPreinstall(false);
    body.setPropertyRuleName("HW");
    body.setUsePropertyRule(1);

    try {
      CreatePodOneStepRes resp = service.createPodOneStep(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

更新实例 UpdatePod

您可以调用 UpdatePod 接口更新实例 UpdatePod。详细的参数说明可参见 UpdatePod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class UpdatePodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    UpdatePodBody body = new UpdatePodBody();

    // 实例所归属的业务 ID。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,指定该参数时,仅更新单个实例的属性信息。
    // note:
    // 与 PodIdList、TagId 、Dc 参数,必须填一个。
    body.setPodId("7294107154305xxxxxx");
    // 自定义实例名称,如不指定,则默认为实例 ID。
    body.setPodName("测试更新实例");
    // 自定义镜像 ID。
    // warning
    // <li> 更新会引起实例重启。 </li>
    // <li> 仅支持从低版本镜像升级为高版本镜像。 </li>
    body.setImageId("img-7616xxxx");
    // 创建实例的用户存储分区大小,即 data 分区容量大小。可选的容量如下:
    // <li> 4Gi </li>
    // <li> 8Gi </li>
    // <li> 16Gi </li>
    // <li> 32Gi </li>
    // <li> 64Gi </li>
    // <li> 128Gi </li>
    // <li> 256Gi </li>
    // note:
    // <li> 当 ResourceType 参数取值为 100 时,该 DataSize 参数用户可根据支持的可选容量设置。 </li>
    // <li> 当 ResourceType 参数取值为 200 时,DataSize 为默认固定值,无需指定。与套餐的对应关系为:  </li>
    // <li> ultimate: 74Gi </li>
    // <li> enhanced:37Gi </li>
    // <li> common:24Gi </li>
    // <li> sample:18Gi </li>
    // <li> basic:14Gi </li>
    // <li> elementary:12Gi </li>
    // <li> 容量大小和单位不可自定义。 </li>
    // <li> 建议您在调用时,结合实际业务情况,按需填写存储大小。 </li>
    body.setDataSize("8Gi");
    // 云手机实例规格 ID,取值如下:
    // <li> ultimate:旗舰型 </li>
    // <li> enhanced:加强型 </li>
    // <li> common:通用型 </li>
    // <li> sample:入门型 </li>
    // <li> basic:基础型 </li>
    // <li> elementary:低配型 </li>
    // <li> ultimatePlus:旗舰型Plus </li>
    // <li> enhancedPlus:加强型Plus </li>
    // <li> commonPlus:通用型Plus </li>
    // <li> samplePlus:入门型Plus </li>
    // <li> basicPlus:基础型Plus </li>
    // <li> elementaryPlus:低配型Plus </li>
    // 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
    // <li> ultimatePro:旗舰型Pro </li>
    // <li> enhancedPro:加强型Pro </li>
    // <li> commonPro:通用型Pro </li>
    // <li> samplePro:入门型Pro </li>
    // <li> basicPro:基础型Pro </li>
    // <li> elementaryPro:低配型Pro </li>
    // warning
    // 需要在关机状态下执行,实例重启后更新生效。
    body.setConfigurationCode("enhanced");
    // 屏幕布局,全局屏幕配置;可通过调用 [ListDisplayLayoutMini](https://www.volcengine.com/docs/6394/1221495) 接口获取;可选的系统屏幕布局 ID 包括:
    // <li> single-display-landscape </li>
    // <li> single-display-portrait </li>
    // <li> single-display-portrait-720p </li>
    // warning
    // <li> 需要在关机状态下执行,实例重启后更新生效。 </li>
    // <li> 如未指定屏幕布局 ID,当运行资源套餐 ConfigurationCode 为 </li>
    // 入门型 sample ,云手机实例将会使用 720P 和 30fps 的默认配置。
    body.setDisplayLayoutId("single-display-landscape");

    // 实例 ID 列表,若需对**多个**实例批量执行更新操作,请使用该参数。支持批量操作的实例数上限为 200。
    // > 对单个实例执行更新操作,请使用PodId 参数。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("[7294107154305xxxxxx]");
    body.setPodIdList(PodIdList);
    // 实例标签 ID,指定该参数时,批量更新已添加该分组标签的所有实例的属性信息,批量操作的最大实例数量为 100。
    body.setTagId("tag_01");
    // 实例机房,指定该参数时,批量更新属于该机房的所有实例的属性信息,批量操作的最大实例数量为 100。
    body.setDc("gdsz-ctcucm-01-5fxxxxxx");
    // 是否可在开机状态下强制更新实例镜像,取值如下:
    // <li> true:可强制执行更新(会触发实例重启) </li>
    // <li> false:(默认)不可强制执行更新 </li>
    body.setForce(true);
    // 实例上行带宽上限,单位为 Mbps;如设置为 0,则不限速。
    body.setUpBandwidthLimit(2);
    // 实例下行带宽上限,单位为 Mbps;如设置为 0,则不限速。
    body.setDownBandwidthLimit(8);

    try {
      UpdatePodRes resp = service.updatePod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

实例重置 ResetPod

您可以调用 ResetPod 接口实例重置 ResetPod。详细的参数说明可参见 ResetPod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class ResetPodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    ResetPodBody body = new ResetPodBody();

    body.setProductId("1591495366954xxxxxx");

    // 实例 ID 列表。对多个实例批量执行重置操作,支持的最大实例数量为 100。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7294157141458xxxxxx");
    body.setPodIdList(PodIdList);
    // 实例重置操作方式。取值如下:
    // <li> 0:全部重置,清除实例属性; </li>
    // <li> 1:保留实例属性。 </li>
    body.setResetType(1);
    // 重置后 data 分区容量大小,可选的容量如下:
    // <li> 4Gi </li>
    // <li> 8Gi </li>
    // <li> 12Gi </li>
    // <li> 16Gi </li>
    // <li> 22Gi </li>
    // <li> 32Gi </li>
    // <li> 45Gi </li>
    // <li> 64Gi </li>
    // <li> 128Gi </li>
    // <li> 256Gi </li>
    //
    // note:
    // <li> 如不指定,则默认保持和重置前大小一致。 </li>
    // <li> 当 ResourceType 参数取值为 100 云盘存储时,该参数才有效。 </li>
    body.setDataSize("12Gi");
    // 系统目录分区保留策略。
    // 执行 remount 操作将应用或文件存储至 /system、/vendor 或 /odm 系统目录后,可使用该参数指定重置实例时对系统目录的处理:
    // <li> 0:(默认值)实例重置时,清除该实例中全部应用和数据; </li>
    // <li> 1:实例重置时,保留系统目录内的应用和数据,清除系统目录外的全部应用和数据; </li>
    // <li> 2:实例重置时,保留系统目录外的应用和数据,清除系统目录内的全部应用和数据。 </li>
    // > 注意:
    // > 1. remount 功能默认关闭,请联系技术支持开启。
    // > 2. 该参数需配合 2024 年 5 月 16 日及之后发布的公共镜像版本使用。
    body.setSystemDirPersistedType(1);
    // 预安装应用保留策略:
    // <li> 0:默认设置,清除预安装应用及相关数据; </li>
    // <li> 1:保留预安装应用,仅清理相关数据。 </li>
    body.setPreInstallAppPersistedType(1);

    try {
      ResetPodRes resp = service.resetPod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询实例列表 ListPod

您可以调用 ListPod 接口查询实例列表 ListPod。详细的参数说明可参见 ListPod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class ListPodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    ListPodQuery query = new ListPodQuery();

    // 实例所属业务 ID。可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    query.setProductId("163571455047xxxx");
    // 筛选条件,实例 ID。
    query.setPodId("163571455047xxxx");
    // 云手机实例规格 ID 列表。可选项为:
    // <li> ultimate:旗舰型 </li>
    // <li> enhanced:加强型 </li>
    // <li> common:通用型 </li>
    // <li> sample:入门型 </li>
    // <li> basic:基础型 </li>
    // <li> elementary:低配型 </li>
    // <li> ultimatePlus:旗舰型Plus </li>
    // <li> enhancedPlus:加强型Plus </li>
    // <li> commonPlus:通用型Plus </li>
    // <li> samplePlus:入门型Plus </li>
    // <li> basicPlus:基础型Plus </li>
    // <li> elementaryPlus:低配型Plus </li>
    // 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
    // <li> ultimatePro:旗舰型Pro </li>
    // <li> enhancedPro:加强型Pro </li>
    // <li> commonPro:通用型Pro </li>
    // <li> samplePro:入门型Pro </li>
    // <li> basicPro:基础型Pro </li>
    // <li> elementaryPro:低配型Pro </li>
    query.setConfigurationCodeList("ultimate");
    // 筛选条件,区域 ID 列表。多个 ID 以英文逗号分隔。可选项为:
    // <li> cn-north:华北 </li>
    // <li> cn-south:华南 </li>
    // <li> cn-east:华东 </li>
    // <li> cn-middle:华中 </li>
    // <li> cn-southwest:西南 </li>
    query.setRegionList("cn-north");
    // 筛选条件,集群 ID 列表,多个机房 ID 列表以英文逗号 , 分隔。可通过调用 [ListDc](https://www.volcengine.com/docs/6394/1221465) 接口获取。
    query.setDcList("gdsz-xxxxx,gdsz-xxxxxx");
    // 筛选条件,标签 ID 列表,多个 ID 以英文逗号分隔。可通过调用 [ListTag](https://www.volcengine.com/docs/6394/1221497) 接口获取。
    query.setTagIdList("01,02");
    // 筛选条件,实例运行状态列表。多个状态值以英文逗号 , 分隔。可选项为:
    // <li> 0:开机中 </li>
    // <li> 1:开机完成 </li>
    // <li> 2:关机完成 </li>
    // <li> 3:关机中 </li>
    // <li> 4:重启中 </li>
    query.setOnlineList("1");
    // 筛选条件,实例推流状态列表。多个状态值以英文逗号 , 分隔。可选项为:
    // <li> 0:空闲 </li>
    // <li> 1:推流中 </li>
    // <li> 2:就绪 </li>
    query.setStreamStatusList("1");
    // 筛选条件,实例 ID 列表。多个 ID 以英文逗号 , 分隔。
    query.setPodIdList("7330243741xxx,733024374xxxx");
    // 筛选条件,运维授权状态:
    // <li> 1:未授权 </li>
    // <li> 2:已授权 </li>
    query.setAuthorityStatus(1);
    // 云机规格。包含以下取值:
    // <li> g2.8c12g:8vCPU|12G内存|128G存储 </li>
    // <li> g2.8c16g.basic:8vCPU|16G内存|128G存储 </li>
    // <li> g2.8c16g.plus:8vCPU|16G内存|256G存储 </li>
    query.setServerTypeCode("g2.8c12g");
    // 分页偏移量。默认值为 0。
    query.setOffset((long) 0);
    // 分页大小,默认值为 10,最大值为 100。
    query.setCount((long) 10);

    try {
      ListPodRes resp = service.listPod(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询实例详情 DetailPod

您可以调用 DetailPod 接口查询实例详情 DetailPod。详细的参数说明可参见 DetailPod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class DetailPodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    DetailPodQuery query = new DetailPodQuery();

    // 实例所归属的业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    query.setProductId("163571455047xxxx");
    // 实例 ID,可通过调用 [ListPod](https://www.volcengine.com/docs/6394/1221468) 接口获取。
    query.setPodId("163571455047xxxx");

    try {
      DetailPodRes resp = service.detailPod(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

获取实例应用列表 GetPodAppList

您可以调用 GetPodAppList 接口获取实例应用列表 GetPodAppList。详细的参数说明可参见 GetPodAppList 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class GetPodAppListDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    GetPodAppListQuery query = new GetPodAppListQuery();

    // 实例所属业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    query.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 [ListPod](https://www.volcengine.com/docs/6394/1221468) 接口获取。
    query.setPodId("7235890322201xxxxxx");
    // 筛选条件,应用安装状态,可选项:
    // <li> 513:正在安装  </li>
    // <li> 516:正在下载  </li>
    // <li> 528:安装完成  </li>
    // <li> 1024:安装失败  </li>
    // <li> 1280:卸载中  </li>
    // <li> 1281:已卸载 </li>
    query.setInstallStatus(528);

    try {
      GetPodAppListRes resp = service.getPodAppList(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询实例资源状态 GetPodMetric

您可以调用 GetPodMetric 接口查询实例资源状态 GetPodMetric。详细的参数说明可参见 GetPodMetric 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class GetPodMetricDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    GetPodMetricQuery query = new GetPodMetricQuery();

    // 实例所属业务 ID。可在「云手机控制台-业务管理-业务详情」中获取。
    query.setProductId("1591495366954xxxxxx");
    // 实例 ID。可通过调用 [ListPod](https://www.volcengine.com/docs/6394/75749) 接口获取。
    query.setPodId("7235890322201xxxxxx");

    try {
      GetPodMetricRes resp = service.getPodMetric(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

实例关机 PowerOffPod

您可以调用 PowerOffPod 接口实例关机 PowerOffPod。详细的参数说明可参见 PowerOffPod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class PowerOffPodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    PowerOffPodBody body = new PowerOffPodBody();

    // 实例所归属的业务 ID。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,若仅需对**单个**实例执行关机操作,请使用该参数。
    // > 批量操作实例关机,请使用 PodIdList 参数。
    body.setPodId("7294107154305xxxxxx");

    // 实例 ID 列表,若需对**多个**实例批量执行关机操作,请使用该参数。支持批量操作的实例数上限为 200。
    // > 对单个实例执行关机操作,请使用PodId 参数。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7294157141458xxxxxx");
    PodIdList.add("7294107154305xxxxxxx");
    body.setPodIdList(PodIdList);

    try {
      PowerOffPodRes resp = service.powerOffPod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

实例开机 PowerOnPod

您可以调用 PowerOnPod 接口实例开机 PowerOnPod。详细的参数说明可参见 PowerOnPod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class PowerOnPodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    PowerOnPodBody body = new PowerOnPodBody();

    // 实例所归属的业务 ID。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,若仅需对**单个**实例执行开机操作,请使用该参数。
    // > 批量操作实例开机,请使用 PodIdList 参数。
    body.setPodId("7294107154305xxxxxx");

    // 实例 ID 列表,若需对**多个**实例批量执行开机操作,请使用该参数。支持批量操作的实例数上限为 200。
    // > 对单个实例执行开机操作,请使用PodId 参数。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7294157141458xxxxxx");
    PodIdList.add("7294107154305xxxxxxx");
    body.setPodIdList(PodIdList);

    try {
      PowerOnPodRes resp = service.powerOnPod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

暂停/恢复实例推流 PodMute

您可以调用 PodMute 接口暂停/恢复实例推流 PodMute。详细的参数说明可参见 PodMute 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class PodMuteDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    PodMuteBody body = new PodMuteBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 ListPod 接口获取。
    body.setPodId("7294107154305xxxxxx");
    // 暂停/恢复推流。
    // <li> true:暂停推流。 </li>
    // <li> false:恢复推流。 </li>
    body.setMute(true);

    // 屏幕 ID 列表。若将该参数置空则对表示所有屏幕进行暂停或恢复推流。
    List<String> DisplayList = new ArrayList<>();

    DisplayList.add("single-display-landscape");
    DisplayList.add("single-display-portrait");
    body.setDisplayList(DisplayList);

    try {
      PodMuteRes resp = service.podMute(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

重启实例 RebootPod

您可以调用 RebootPod 接口重启实例 RebootPod。详细的参数说明可参见 RebootPod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class RebootPodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    RebootPodBody body = new RebootPodBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 ListPod 接口获取。指定该参数时,仅对单个实例执行重启操作。
    // > 与 PodIdList 二选一。
    body.setPodId("7294107154305xxxxxx");

    // 实例 ID 列表,指定该参数时,对多个实例批量执行重启操作。支持批量操作的实例数上限为100。
    // > 与 PodId 二选一。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7294107154305xxxxxx");
    PodIdList.add("7328242892885xxxxxx");
    body.setPodIdList(PodIdList);
    // 重启实例时设置的 IP 资源策略:
    // <li> Persist:保持亲和性调度策略。 </li>
    // <li> NonPersist:进行非亲和性调度策略。 </li>
    body.setResourcePolicy("Persist");

    try {
      RebootPodRes resp = service.rebootPod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

打开/关闭实例 ADB PodAdb

您可以调用 PodAdb 接口打开/关闭实例 ADB PodAdb。详细的参数说明可参见 PodAdb 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class PodAdbDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    PodAdbBody body = new PodAdbBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 ListPod 接口获取。
    body.setPodId("7294107154305xxxxxx");
    // 开启或关闭实例的 ADB 连接功能:
    // <li> true: 打开 ADB。 </li>
    // <li> false: 关闭 ADB。 </li>
    body.setEnable(true);

    try {
      PodAdbRes resp = service.podAdb(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

停止实例推流 PodStop

您可以调用 PodStop 接口停止实例推流 PodStop。详细的参数说明可参见 PodStop 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class PodStopDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    PodStopBody body = new PodStopBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 ListPod 接口获取。
    body.setPodId("7294107154305xxxxxx");

    try {
      PodStopRes resp = service.podStop(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

清理用户数据 PodDataDelete

您可以调用 PodDataDelete 接口清理用户数据 PodDataDelete。详细的参数说明可参见 PodDataDelete 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class PodDataDeleteDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    PodDataDeleteBody body = new PodDataDeleteBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 ListPod 接口获取。
    body.setPodId("7294157141458xxxxxx");

    // 待清理数据的路径列表;仅支持清理 /sdcard 和 /data 目录下的数据,避免误删除。
    List<String> FilePathList = new ArrayList<>();

    FilePathList.add("/sdcard");
    body.setFilePathList(FilePathList);

    // 按应用包名,清理已安装第三方应用的数据(系统应用不支持)。
    List<String> PackageList = new ArrayList<>();

    PackageList.add("Package1");
    PackageList.add("Package2");
    body.setPackageList(PackageList);

    try {
      PodDataDeleteRes resp = service.podDataDelete(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

删除实例 DeletePod

您可以调用 DeletePod 接口删除实例 DeletePod。详细的参数说明可参见 DeletePod 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class DeletePodDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    DeletePodBody body = new DeletePodBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1591495366954xxxxxx");
    // 实例 ID,可通过调用 ListPod 接口获取。指定该参数时,仅销毁单个实例。
    // > 与 PodIdList 二选一。
    body.setPodId("7294107154305xxxxxx");

    // 实例 ID 列表,指定该参数时,批量销毁多个实例。支持批量操作的实例数上限为100。
    // > 与 pod_id 二选一。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("PodId1");
    PodIdList.add("PodId2");
    body.setPodIdList(PodIdList);
    // 是否强制销毁实例:
    // <li> true:支持开机状态下销毁实例。 </li>
    // <li> false:默认,不强制销毁实例,如不填写,在开机状态调用本接口销毁实例时会失败。 </li>
    body.setForceDestroyFlag(true);

    try {
      DeletePodRes resp = service.deletePod(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

分发文件至实例 DistributeFile

您可以调用 DistributeFile 接口分发文件至实例 DistributeFile。详细的参数说明可参见 DistributeFile 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class DistributeFileDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    DistributeFileBody body = new DistributeFileBody();

    // 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1696164119863xxxxxx");

    // 实例 ID 列表,指定该参数时,对多个实例批量执行文件分发操作。支持批量操作的实例数上限为 100。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7366133767813xxxxxx");
    PodIdList.add("7366133767813xxxxxx");
    PodIdList.add("7359192141879xxxxxx");
    body.setPodIdList(PodIdList);
    // 需要保存在实例内的文件名称。
    body.setFileName("test.apk");
    // 文件 md5 值。
    body.setFileMd5("854ef5c91ea6dc5c4705133330xxxxxx");
    // 文件下载链接。
    body.setDownloadUrl("https://xxx.tos-cn-beijing.volces.com/test.apk");
    // 目标存储路径。
    body.setTargetDirectory("/sdcard/data/files");
    // 分发 .zip/.tar 文件后,是否自动解压缩文件:
    // <li> 0:(默认设置)不自动解压文件; </li>
    // <li> 1:自动解压文件。 </li>
    body.setAutoUnzip(0);

    try {
      DistributeFileRes resp = service.distributeFile(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

设置代理服务 SetProxy

您可以调用 SetProxy 接口设置代理服务 SetProxy。详细的参数说明可参见 SetProxy 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class SetProxyDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    SetProxyBody body = new SetProxyBody();

    body.setProductId("1749281594201xxxxxx");

    // 需要设置代理的实例 ID 列表,可通过调用 ListPod 接口获取。列表长度上限为 100。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7337159054625xxxxxx");
    PodIdList.add("7337159054626xxxxxx");
    body.setPodIdList(PodIdList);
    // 是否开启代理:
    // <li> 1:开启; </li>
    // <li> 0:关闭。 </li>
    body.setProxyStatus(1);

    // 代理配置键值对。具体参看 [ProxyConfig 字段说明](#proxyconfig-字段说明)。
    Map<String, String> ProxyConfig = new LinkedHashMap<>();

    ProxyConfig.put("key", "value");
    body.setProxyConfig(ProxyConfig);

    try {
      SetProxyRes resp = service.setProxy(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}