文件预置
业务场景示例
需要在服务器上的所有云手机中预置文件。
例如:推流二进制文件、保活脚本文件、应用行为监控文件等。
操作步骤
- 参考获取云手机列表,从列表中选定一台云手机,将需要打包的文件放入到该云手机的目标路径下。
例如:服务器上云手机需要在/data/local/huawei/、/data/local/tmp/路径下分别部署test.txt和test.sh文件。将test.txt、test.sh放入选定手机的/data/local/huawei/、/data/local/tmp/目录下。
- 将文件打包成配置文件tar包并上传到OBS桶。
POST https://${CPH Endpoint}/v1/${project_id}/cloud-phone/phones/batch-storage Header: Content-Type: application/json X-Auth-Token: ${token} Body: { "storage_infos": [{ "phone_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "include_files": [ "/data/local/huawei/test.txt", "/data/local/tmp/test.sh" ], "bucket_name": "${bucket_name}", "object_path": "apk/${package_name}_${version_name}.tar" }] }
其中,
- include_files中的元素为需要打包的文件在云手机中的绝对路径。
- object_path中${package_name}仅支持com.cph.config、com.cph.config.level1、com.cph.config.level2中的一种,${ version_name }用于识别配置包版本,可自行定义。
- 参考推送应用tar包至服务器共享空间,将配置文件tar包推送到目标云手机服务器。
调用示例:
POST https://${CPH Endpoint}/v1/${projectId}/cloud-phone/phones/share-apps Header: Content-Type: application/json X-Auth-Token: ${token} Body: { "package_name": "${package_name}", "bucket_name": "${bucket_name}", "object_path": "apk/${package_name}_${version_name}.tar", "pre_install_app": 1, "server_ids": [ "${server_id1}", "${server_id2}" ] }
推送时需将"pre_install_app"参数设置为1。
- 重置或重启云手机,自动部署配置文件包中的文件到云手机对应位置。
- 配置文件包部署到云手机会占用云手机存储空间,建议配置文件不要过大。
- 建议仅使用一个配置文件包完成业务部署,将所需的文件都打包在com.cph.config包中,并且文件放置在云手机固定目录,方便文件统一管理。
- 如果当前支持的三个配置文件包均需预置,云手机在重置或重启时,会按照com.cph.config、com.cph.config.level1、com.cph.config.level2的顺序依次部署,如果有相同文件,则会依次覆盖。