阅读本文,您可以获取 Java SDK 实例属性管理的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 Java SDK 的安装及初始化操作。
本节为您介绍实例属性管理相关接口的功能和调用示例。
您可以调用 UpdatePodProperty 接口修改实例属性 UpdatePodProperty。详细的参数说明可参见 UpdatePodProperty 接口文档。
接口调用示例如下所示。
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 UpdatePodPropertyDemo { 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")); UpdatePodPropertyBody body = new UpdatePodPropertyBody(); // 实例所归属的业务 ID,可在云手机控制台-业务管理-业务详情中获取。 body.setProductId("1591495366954xxxxxx"); // 实例 ID,可通过调用 [ListPod](https://www.volcengine.com/docs/6394/1221468) 接口获取。 // 若仅需更新**单个**实例的属性,请使用该参数。 // > 批量操作实例更新属性,请使用 PodIdList 参数。 body.setPodId("7294157141458xxxxxx"); // 实例 ID 列表,若需一次性更新**多个**实例的属性,请使用该参数。支持批量操作的实例数上限为 200。 // > 更新单个实例属性,请使用PodId 参数。 List<String> PodIdList = new ArrayList<>(); PodIdList.add("[7294157141458xxxxxx,72941579891458xxxxxx]"); body.setPodIdList(PodIdList); // 实例 Settings 属性列表。参看 [Settings](#settings) 数据结构说明。 List<com.volcengine.model.acep.v20231030.RequestSettings> PodSettings = new ArrayList<>(); com.volcengine.model.acep.v20231030.RequestSettings PodSettings1 = new com.volcengine.model.acep.v20231030.RequestSettings(); PodSettings.add(PodSettings1); body.setPodSettings(PodSettings); // 实例系统属性列表,非持久化,立即生效,重启实例后失效。参看 [SystemProperty](#systemproperty) 数据结构说明。 List< com.volcengine.model.acep.v20231030.RequestSystemProperty > PodProperties = new ArrayList<>(); com.volcengine.model.acep.v20231030.RequestSystemProperty PodProperties1 = new com.volcengine.model.acep.v20231030.RequestSystemProperty(); PodProperties.add(PodProperties1); body.setPodProperties(PodProperties); // 实例系统属性列表,持久化,立即生效,重启实例后持久化保存。参看 [SystemProperty](#systemproperty) 数据结构说明。 List< com.volcengine.model.acep.v20231030.RequestSystemProperty > PodPersistProperties = new ArrayList<>(); com.volcengine.model.acep.v20231030.RequestSystemProperty PodPersistProperties1 = new com.volcengine.model.acep.v20231030.RequestSystemProperty(); PodPersistProperties.add(PodPersistProperties1); body.setPodPersistProperties(PodPersistProperties); // 预设的机型参数名称。 // 创建实例时,若通过 UsePropertyRule 参数选择使用预设机型,可通过该参数对机型进行修改。机型参数列表可通过 ListPropertyRule 接口获取。 body.setPropertyRuleName("HW"); try { UpdatePodPropertyRes resp = service.updatePodProperty(body); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
您可以调用 GetPodProperty 接口查询实例属性列表 GetPodProperty。详细的参数说明可参见 GetPodProperty 接口文档。
接口调用示例如下所示。
package com.volcengine.ACEP.demo; import com.volcengine.model.acep.*; import com.volcengine.service.acep.ACEPService; public class GetPodPropertyDemo { 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")); GetPodPropertyQuery query = new GetPodPropertyQuery(); // 实例所属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。 query.setProductId("1591495366954xxxxxx"); // 实例 ID,可通过调用 ListPod 接口获取。 query.setPodId("7235890322201xxxxxx"); // 筛选条件,secure 类型 setting 名称列表,多个属性名称以英文逗号分隔;可查询的 setting 名称,参考 [云手机实例属性列表](https://www.volcengine.com/docs/6394/671880#settings-%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8) query.setSettingSecureNameList("location_mode"); // 筛选条件,global 类型 setting 名称列表,多个属性名称以英文逗号分隔;可查询的 setting 名称,参考 [云手机实例属性列表](https://www.volcengine.com/docs/6394/671880#settings-%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8) query.setSettingGlobalNameList("settings.install_whitelist"); // 筛选条件,system 类型 setting 名称列表,多个属性名称以英文逗号分隔;可查询的 setting 名称,参考 [云手机实例属性列表](https://www.volcengine.com/docs/6394/671880#settings-%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8) query.setSettingSystemNameList("launcher3_remove_drawer"); // 筛选条件,非持久化属性列表,多个属性名称以英文逗号分隔;可查询的非持久化属性,参考 [云手机实例属性列表](https://www.volcengine.com/docs/6394/671880#system-properties-%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8) query.setPropertyNameList("ro.product.device"); // 筛选条件,持久化属性列表,多个属性名称以英文逗号分隔;可查询的持久化属性,参考 [云手机实例属性列表](https://www.volcengine.com/docs/6394/671880#system-properties-%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8) query.setPersistPropertyNameList("ro.product.model"); try { GetPodPropertyRes resp = service.getPodProperty(query); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
您可以调用 AddPropertyRule 接口创建机型参数规则 AddPropertyRule。详细的参数说明可参见 AddPropertyRule 接口文档。
接口调用示例如下所示。
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 AddPropertyRuleDemo { 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")); AddPropertyRuleBody body = new AddPropertyRuleBody(); // 机型参数规则名称,账户下规则名称唯一,长度不能超过 200 个字符。 body.setRuleName("Oppo1"); // 实例 Settings 系统属性,非持久化,立即生效,重启实例后失效;详细信息,参考 [SystemProperty](#systemproperty) 定义。 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); // 实例初始化系统属性,持久化,重启实例后生效;详细信息,参考 [SystemProperty](#systemproperty ) 定义:适用于只读系统属性,或 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); // 实例 Settings 属性列表;详细信息,参考 [Settings](#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); try { AddPropertyRuleRes resp = service.addPropertyRule(body); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
您可以调用 ListPropertyRule 接口查询机型参数规则列表 ListPropertyRule。详细的参数说明可参见 ListPropertyRule 接口文档。
接口调用示例如下所示。
package com.volcengine.ACEP.demo; import com.volcengine.model.acep.*; import com.volcengine.service.acep.ACEPService; public class ListPropertyRuleDemo { 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")); ListPropertyRuleQuery query = new ListPropertyRuleQuery(); // 机型参数规则名称,账户下规则名称唯一 query.setRuleName("Oppo1"); // 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 Offset 为 10,则表示从第 11 条记录开始。默认值为 0。 // note: // 可与 Count 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。 query.setOffset((long) 0); // 单次查询返回的最大记录数,用于控制每次查询返回的数据量。例如,若 Count 为 100,则表示在查询数据时,系统将每次返回 100 条记录。 // note: // 可与 Offset 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。 query.setCount((long) 10); try { ListPropertyRuleRes resp = service.listPropertyRule(query); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
您可以调用 RemovePropertyRule 接口移除机型参数规则 RemovePropertyRule。详细的参数说明可参见 RemovePropertyRule 接口文档。
接口调用示例如下所示。
package com.volcengine.ACEP.demo; import com.volcengine.model.acep.*; import com.volcengine.service.acep.ACEPService; public class RemovePropertyRuleDemo { 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")); RemovePropertyRuleBody body = new RemovePropertyRuleBody(); // 需要移除的机型参数规则名称,可通过 ListPropertyRule 获取。 body.setRuleName("Oppo1"); try { RemovePropertyRuleRes resp = service.removePropertyRule(body); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }