华为云用户手册

  • 使用方式 云平台提供了Web化的服务管理系统(即管理控制台)和基于HTTPS请求的API(Application programming interface)管理方式。 API方式 如果用户需要将云手机集成到第三方系统,用于二次开发,请使用API方式访问云手机服务器。具体操作请参见“API参考”。 管理控制台方式 其他相关操作,如购买、连接云手机实例,请使用管理控制台方式访问云手机服务器。 云手机实例以服务器为单位购买,您只需要指定具体的服务器类型、实例规格、手机镜像、所需要的网络配置等,即可获得一台服务器,以及相应数量的云手机实例。详细购买及使用流程请参见“购买云手机服务器”。
  • 审计与日志 云审计 服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务后,CTS可记录CPH的操作事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CPH支持审计的操作事件,请参见支持审计的关键操作。 查看审计日志,请参见查看CPH审计事件。 父主题: 安全
  • 云手机服务器与其他服务的关系 表1 云手机服务器与其他服务的关系 服务名称 云手机服务器与其他服务的关系 主要交互功能 弹性云服务器 弹性云服务器可作为内网方式连接云手机的跳板机器,也可在云手游场景下作为推流服务器使用。 ADB方式(内网) 弹性公网IP 通过弹性公网IP实现云手机服务器与外部通信。 ADB方式(公网) 虚拟私有云 通过虚拟私有云建立专属的网络环境。 购买云手机服务器 云硬盘 为云手机提供云上存储空间。 云手机服务器 云手游服务器 对象存储服务 为云手机安装APK时,可先将软件包上传至OBS桶,通过相关ADB命令实现批量安装。 批量控制 云监控服务 当您购买云手机服务器后,无需额外安装其他插件,即可在 云监控 服务查看云手机服务器及相关联资源(云手机、磁盘及GPU卡)的监控数据,还可以获取可视化监控图表。 支持的监控指标 查看监控指标 创建告警规则 云审计服务 记录与云手机服务器相关的操作事件,便于日后的查询、审计和回溯。 支持审计的关键操作列表 查看审计日志
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • SSH隧道 SSH隧道即SSH端口转发,在SSH客户端与SSH服务端之间建立一个隧道,将网络数据通过该隧道转发至指定端口,从而进行网络通信。SSH隧道自动提供了相应的加密及解密服务,保证了数据传输的安全性。 SSH隧道有三种端口转发模式:本地端口转发(Local Port Forwarding)、远程端口转发(Remote Port Forwarding)以及动态端口转发(Dynamic Port Forwarding)。对于本地/远程端口转发,两者的方向恰好相反。连接云手机时,使用的是本地端口转发,因此本文着重介绍本地端口转发的工作原理。 假设本地主机A1为SSH客户端,远端云主机B1为SSH服务端。从A1主机通过SSH登录B1主机,指定不同的端口转发选项(-L、-R和-D),即可在A1与B1之间建立SSH隧道,从而进行不同的端口转发。 应用场景 远端云主机B1上运行了一个服务,端口为2000,本地主机A1需要访问这个服务。假设云主机B1的IP为122.x.x.x,则该服务的访问地址为:http://122.x.x.x:2000 为什么需要本地端口转发? 一般来讲,云主机的防火墙默认只开启了22端口,如果需要访问2000端口,则需要修改防火墙。为了保证安全,防火墙需要配置允许访问的IP地址。但是,云主机的公网IP通常是网络提供商动态分配的,如果变更公网IP地址,防火墙配置就需要经常修改,造成不必要的麻烦。 什么是本地端口转发? 本地端口转发,是将发送到本地端口的请求,转发到目标端口,这样就可以通过访问本地端口,来访问目标端口的服务。使用-L选项,就可以指定需要转发的端口,语法如下: ssh -L 本地端口:目标地址:目标端口 例如: ssh -L 3000:targethost:2000 root@122.x.x.x表示在本地主机A1登录远端云主机B1,通过本地端口转发,将发送到本地主机A1端口3000的请求,转发到远端云主机B1的2000端口。 这样,在本地主机A1上可以通过访问http://122.x.x.x:2000来访问远端云主机B1上的服务。 扩展应用 以上语法中,目标地址也可以是其他主机的地址,以连接云手机场景为例,目标地址为云手机的私有IP地址,本地主机A1为本地设备,远端云主机B1为云手机服务器,那么建立SSH隧道的命令为: ssh -L 本地端口:云手机私有IP地址:目标端口 用户名@服务器的公网IP地址 另外,建立隧道时常用的选项还有-N、-f等。 -N:表示建立SSH隧道以后不连接到SSH服务端,通常与“-f”选项连用。 -f:表示在后台运行SSH隧道,通常与“-N”选项连用。
  • 云手机与其他手机模拟方案的对比 当前市场上常见的手机模拟方案有x86模拟器方案和真手机方案,优劣对比如表1所示。 表1 云手机与其他手机模拟方案的对比 项目 x86模拟器方案 真手机方案 华为云云手机 性能 差 需要在x86指令集和ARM指令集之间转换,效率低,最少有50%的性能损失。 中 基于真机的实现方式,性能与真机一致,但无法超越真机性能。 高 基于ARM服务器的实现方式,性能规格灵活,可大幅度超越真机性能,无限延展手机对性能和存储的需求。 兼容性 差 x86的复杂指令到ARM的精简指令并非一对一转换,存在严重的应用兼容性问题,长期存在,难以解决。 高 与真机一致,应用兼容性有保障。 高 由于采用ARM服务器的实现方式,基于ARM的原生应用兼容性高。 稳定性 中 基于外部各种开源或非商业模拟器软件实现,稳定性难以保证。 极差 非服务器制成品,大量二手真机、手工焊点与复杂接线难以保障产品质量,稳定性非常差。 高 自研高性能ARM芯片与ARM服务器,市场上有大量应用,稳定性与可靠性高。 可获得性 高 直接基于x86服务器以及模拟器软件搭建,门槛低,资源可获得性高。 极差 非常难获得足够且稳定的货源,二手手机市场变化快,设计对应的手机在市场上的可获得性极差。 高 采用公有云服务方式,资源量大,使用灵活,可按月包周期,资源弹性大。 仿真度 差 基于软件上层技术实现,虽然可修改手机参数较多,同时特征明显,很容易被上层应用检测为模拟器。 高 与真机一致,仿真度高。 高 可实现真机完全的仿真与兼容性,如果采用高性价比AOSP方式,也可针对应用进行底层硬件数据模拟。 规格灵活性 高 可灵活设定规格,自由度高。 差 按照规格设定购买相应的真机,基本不具备规格灵活性。 高 基于ARM服务器的实现方式,规格灵活设定调整,也可轻松实现高规格超分实例。
  • 密钥对 密钥对,也称SSH密钥对,是区别于用户名+密码的远程登录Linux实例的认证方式。通过加密算法生成一对密钥,一个对外界公开,称为公钥,另一个由用户自己保留,称为私钥。公钥和私钥组成密钥对。密钥对的工作原理是使用公钥加密某个数据(例如一个密码),用户可以使用私钥解密数据。 华为云只会存储公钥,您需要存储私钥。拥有您的私钥的任何人都可以解密您的登录信息,因此将您的私钥保存在一个安全的位置非常重要。 如何创建使用密钥对,请参见表3 高级配置参数说明。
  • APP仿真测试 通常手机主要面向个人提供服务,但随着移动应用越来越多,数量越来越庞大,企业在特定的场景下也需要大量的运行手机上的移动应用APP,来完成自动化或智能化的功能,为此需要大量的仿真手机来承载此类APP运行。 图3 APP仿真测试场景架构 架构说明: 手机应用APP安装在云手机当中,通过企业事先编排好的编程脚本自动化的控制手机运行一个或多个APP,通过拟人化的脚本操作,实现多种多样的场景应用。 可在弹性云服务器中构建企业自身的云手机管理运维平台、营销系统或自动化脚本平台等,并通过两个独立的VPC分别进行控制。 云手机中的应用程序APP可通过对象存储集中存放,节省大量应用程序安装或更新时的网络带宽消耗。 丰富多样的安全与监控服务可给客户业务系统提供齐全且安全的防护措施,保障业务的稳定运行。
  • 直播互娱 直播互娱是云手机服务器的一个创新应用场景,通过将手机画面直播给多个参与者的方式,提供多人互动的场景应用,提升用户体验和直播效果。 图4 直播互娱场景架构 架构说明: 手机应用/游戏APP安装在云手机当中,将单个或多个手机画面合并输出到编码服务器进行集成编码,然后画面复制推流到多个客户端(PC、手机、PAD等)上进行显示,同时云手机接收一个或多个客户端的操作指令。 登录服务器集群采取负载均衡及弹性伸缩设计,能够轻松应对超大规模并发的场景。
  • 访问控制 虚拟私有云 虚拟私有云(Virtual Private Cloud,以下简称VPC)为云手机服务器构建了一个逻辑上完全隔离的专有区域,您可以在自己的逻辑隔离区域中定义虚拟网络,为云手机服务器构建一个逻辑上完全隔离的专有区域。您还可以在VPC中定义安全组、VPN、IP地址段、带宽等网络特性,方便管理、配置内部网络,进行安全、快捷的网络变更。同时,您可以自定义安全组内与组间云手机服务器的访问规则,加强云手机服务器的安全保护。 安全组 安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云手机服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当云手机服务器加入该安全组后,即受到这些访问规则的保护。 如何设置虚拟私有云和安全组,请参见表2 自定义网络配置。
  • IAM 身份认证 云手机服务器支持通过IAM进行精细的权限管理,实现用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制资源的访问。 您可以在账号中创建IAM用户,并授权控制他们对资源的访问范围。IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。 权限管理简介,请参见CPH权限管理。 授权使用CPH,请参见创建用户并授权使用CPH。 自定义策略,请参见权限配置示例。 策略及授权项详情,请参见权限及授权项说明。
  • 移动办公 随着移动应用的普及,越来越多的企业开始通过移动终端接入办公,但同时也带来了企业数据安全的隐患,采购定制安全手机虽然可以增强安全性,但仍然无法防止敏感数据泄露。基于云手机的移动办公应用可以将企业核心数据留在云端,而仅仅将手机画面向授权员工开放。 图2 移动办公场景架构 架构说明: 企业应用APP上传至对象存储以后,批量安装在云手机当中,通过将云手机的音视频画面进行流化编码输出到客户端进行显示,同时接收客户端的操作指令控制云手机中的应用,企业数据留在云端,更为安全可靠。 登录/客户业务服务器集群采取负载均衡及弹性伸缩设计,能够轻松应对超大规模并发的场景。 云手机可分布部署在各大中心节点及边缘云当中,有效降低用户互动体验的时延,做到最佳体验及最优带宽性价比。
  • 数据保护技术 云手机服务器通过多种数据保护手段和特性,保障存储数据的安全可靠。 云手机服务器底层为裸金属服务器,具备物理机级的性能和隔离性,用户独占计算资源,并且无任何虚拟化开销。 云手机服务器提供备份与恢复接口,支持客户将重要数据备份到自己的OBS桶(导出云手机数据),也支持客户将OBS桶的备份数据还原到指定云手机(恢复云手机数据 )。 为了保障云手机用户数据的机密性,新版AOSP公共镜像支持文件级加密,用户数据以密文形式落盘。 父主题: 安全
  • 云游戏 云游戏作为游戏行业的热门发展方向,通过视频流化的方式面向玩家提供免下载,脱离手机性能的一种游戏服务方式,其本身包含了PC游戏的流化和移动游戏的流化。云手机服务器作为云端仿真手机可以发挥移动游戏指令同构的优势,在云端承载游戏应用。 图1 云游戏场景架构 架构说明: 手机游戏APP安装在云手机当中,通过将云手机的音视频画面进行流化编码输出到客户端进行显示,同时接收客户端的操作指令控制云手机中的游戏。 登录服务器集群采取负载均衡及弹性伸缩设计,能够轻松应对超大规模并发的场景。 云手机可分布部署在各大中心节点及边缘云当中,有效降低用户互动体验的时延,做到最佳体验及最优带宽性价比。
  • CPH使用限制 云手机服务器是带有原生安卓操作系统,具有虚拟手机功能的云服务器,不带有运营商业务属性,不支持虚拟SIM卡、打电话、收发短信等相关功能。 云手机服务器仅支持安卓原生操作系统,不支持通过刷机或其他操作修改操作系统,更换手机操作系统类型。 云手机服务器不支持二次虚拟化,即不支持安装虚拟化软件。 云手机服务器无自带的截屏、录屏等工具。 云手机服务器不支持安装谷歌移动服务(Google Mobile Service,GMS)。 云手机服务器暂不支持服务器规格变配(比如变更手机开数),如果需要调整规格,请将服务器退订后重新购买符合要求的规格。 云手机服务器暂不支持在不同区域或账号间迁移业务数据。
  • CPH使用须知 客户不能使用华为云资源进行黑产,违规以及违反华为安全要求等行为,违反相关要求账户会被受限/冻结。 华为云账户受限/冻结或者云手机资源进入保留期时,云手机使用会受到限制,客户应提前了解处理,避免造成业务中断。 客户华为云账户因余额不足等原因导致账号受限时,无法进行云手机资源操作(包括但不限于重启,更换镜像,推送文件等等)。 客户华为云账户因云服务欠费冻结等原因导致账号冻结时,无法进行云手机资源操作(包括但不限于重启,更换镜像,推送文件等等)。 客户云手机资源因欠费或到期未续费进入保留期时,资源会被冻结关闭,无法正常使用。 云手机physical.kg1.4xlarge、physical.rx2.32xlarge.4和physical.rx3.32xlarge.4系列服务器存储使用按需EVS 云存储 ,按小时实时扣费,您需要确保账户余额充足,避免账户欠费后导致资源冻结,造成使用影响。 客户需要妥善保管云手机访问密钥,谨慎选择云手机开放访问端口,确保做好安全防护。 云手机physical.rx1.xlarge系列服务器使用本地盘存储数据,建议您定期对重要数据进行备份。
  • AOSP11镜像使用约束 AOSP11镜像包含CPUI 1.0(国内版)和CPUI International 1.0(国际版)两种,以下约束主要针对这两种镜像。 AOSP11镜像不支持root用户使用。 AOSP11镜像的系统盘只读,用户无法修改或删除文件。 通过adb shell方式无法修改名称中带有ro字段的属性。 不支持使用appctrl命令,不支持共享应用能力。 CPUI 1.0(国内版)镜像面向国内Region使用,不支持GMS;CPUI International 1.0(国际版)镜像面向国际Region使用,默认预置GMS。 更换镜像有以下限制: 支持AOSP11公共镜像与AOSP11公共镜像互相切换。 不支持AOSP11公共镜像与AOSP11自定义镜像互相切换。 不支持AOSP11公共镜像与AOSP7/AOSP9公共镜像互相切换。 不支持AOSP11公共镜像与AOSP7/AOSP9自定义镜像互相切换。 不支持AOSP11国内版公共镜像与AOSP11国际版公共镜像互相切换。 如果客户使用公共镜像不满足业务需要,可以选择制作自定义镜像,在购买AOSP11服务器时,选择自定义版本镜像作为默认镜像。AOSP11自定义镜像制作参考链接https://gitee.com/HuaweiCloudDeveloper/huaweicloud-cloudPhone-aosp11。 所有名称中带有ro字段的属性均不支持修改,仅支持修改com.cph.bandwidth_limit、com.cph.network.type,、com.cph.mainkeys三个属性。 AOSP11公共镜像均为加密镜像,请在云手机启动完成后,再操作手机数据,避免数据错乱。
  • 计费项 CPH计费项如图1所示,各计费项的详细说明请参见表1。 图1 CPH计费项 表1 CPH计费项说明 计费项 含义 计费示例 计费模式 服务器 云手机服务器是以整台服务器的形式售卖的,您需要为服务器上的所有资源付费,包括: 云手机服务器:CPU、内存、本地盘 云手游服务器:CPU、内存、本地盘、云手游接入软件 不同区域的资源价格可能有差异,实际价格请以控制台为准。如何选择区域请参考:区域和可用区。 包年包月 EIP(可选) 实例规格中,EIP个数不为0时,您需要为EIP的流量或带宽付费。带宽类型不同,计费标准也不同: 独享带宽:指定带宽上限,按实际使用的出公网流量计费 共享带宽:按带宽大小计时(小时)收费 计费详情请参见“价格计算器”。 以“华东-上海一”为例,共享带宽计费标准为:0.167元/小时/M,那么购买50M带宽时,需要支付的带宽费用为: 0.167 x 50 = 8.35(元/小时) 按需计费 云硬盘(可选) physical.kg1.4xlarge.cp、physical.kg1.4xlarge.cg、physical.rx2.32xlarge.4和physical.rx3.32xlarge.4规格服务器无本地磁盘,系统默认购买一块或多块超高IO类型云硬盘,您需要为云硬盘付费,计费标准: 按磁盘容量计时(小时)收费 计费详情请参见“价格计算器”。 以“华东-上海一”为例,超高IO云硬盘计费标准为:0.0014元/GB/小时,那么购买physical.rx2.32xlarge.4规格的云手机服务器,需要支付的云硬盘费用为: 0.0014 x 400 x 3 = 1.68(元/小时) 说明:400为云硬盘容量;3为云硬盘个数 按需计费
  • 返回值 正常 返回值 说明 200 OK GET和PUT操作正常返回。 201 Created POST操作正常返回。 204 No Content 异常 返回值 说明 400 Bad Request 请求参数错误 403 Forbidden 没有权限对资源访问 404 Not Found 请求的资源不存在 500 Internal Server Error 请求未完成,服务异常 501 Not Implemented 请求未完成,服务器不支持所请求的功能 502 Bad Gateway 请求未完成,服务器从上游服务器收到一个无效的响应 503 Service Unavailable 请求未完成,系统暂时异常 504 Gateway Timeout 网关超时 父主题: 通用请求返回值
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识。 delete:刪除 tags 是 Array of Tag objects 标签列表。 表4 Tag 参数 是否必选 参数类型 描述 key 是 String 键。 最大长度127个unicode字符。 不能为空,可以包含任意语种字母、数字、空格和_.:=+-@,不能以_sys_开头。 value 是 String 值列表。 每个值最大长度255个unicode字符。 不能为空,可以包含任意语种字母、数字、空格和_.:=+-@,但首尾不能含有空格。
  • 请求示例 批量删除标签 Post https://{CPH Endpoint}/v1/{project_id}/{resource_type}/{resource_id}/tags{ "action" : "delete", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ]}
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效,目前CPH暂不支持企业项目授权。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“×”表示暂不支持。 CPH的支持自定义策略授权项如表1所示。 表1 CPH自定义策略授权项 权限 对应API接口 授权项(Action) IAM项目 (Project) 企业项目 (Enterprise Project) 创建云手机服务器 POST /v2/{project_id}/cloud-phone/servers cph:servers:create √ √ 切换云手机服务器 POST /v2/{project_id}/cloud-phone/servers/{server_id}/change cph:servers:change √ √ 查询云手机服务器列表 GET /v1/{project_id}/cloud-phone/servers cph:servers:list √ √ 查询云手机服务器详情 GET /v1/{project_id}/cloud-phone/servers/{server_id} cph:servers:get √ √ 查询云手机服务器规格列表 GET /v1/{project_id}/cloud-phone/server-models cph:system:listServerTypes √ × 修改云手机服务器名称 PUT /v1/{project_id}/cloud-phone/servers/{server_id} cph:servers:updateName √ √ 变更云手机服务器规格 POST /v1/{project_id}/cloud-phone/servers/change-server-model cph:servers:changeType √ √ 重启云手机服务器 POST /v1/{project_id}/cloud-phone/servers/batch-restart cph:servers:restart √ √ 推送共享存储文件 POST /v1/{project_id}/cloud-phone/phones/share-files cph:servers:pushShareFiles √ √ 查询共享存储文件 GET /v1/{project_id}/cloud-phone/servers/share-files cph:servers:getShareFiles √ √ 删除共享存储文件 POST /v1/{project_id}/cloud-phone/phones/share-files cph:servers:deleteShareFiles √ √ 推送共享应用 POST /v1/{project_id}/cloud-phone/phones/share-apps cph:servers:pushShareApps √ √ 删除共享应用 DELETE /v1/{project_id}/cloud-phone/phones/share-apps cph:servers:deleteShareApps √ √ 更改密钥对 PUT /v1/{project_id}/cloud-phone/servers/open-access cph:servers:updateKeypair √ √ 查询编码服务 GET /v1/{project_id}/cloud-phone/encode-servers cph:servers:listEncodeServers √ √ 重启编码服务 POST /v1/{project_id}/cloud-phone/encode-servers/batch-restart cph:servers:restartEncodeServers √ √ 查询带宽信息 GET /v1/{project_id}/cloud-phone/bandwidths cph:bandwidths:list √ × 修改共享带宽 PUT /v1/{project_id}/cloud-phone/bandwidths/{band_width_id} cph:bandwidths:put √ × 查询云手机列表 GET /v1/{project_id}/cloud-phone/phones cph:phones:list √ √ 查询云手机详情 GET /v1/{project_id}/cloud-phone/phones/{phone_id} cph:phones:get √ √ 查询云手机规格列表 GET /v1/{project_id}/cloud-phone/phone-models cph:system:listPhoneSpecifications √ × 重置云手机实例 POST /v1/{project_id}/cloud-phone/phones/batch-reset cph:phones:reset √ √ 重启云手机实例 POST /v1/{project_id}/cloud-phone/phones/batch-restart cph:phones:restart √ √ 关闭云手机实例 POST /v1/{project_id}/cloud-phone/phones/batch-stop cph:phones:stop √ √ 修改云手机名称 PUT /v1/{project_id}/cloud-phone/phones/{phone_id} cph:phones:updateName √ √ 更新云手机属性 POST /v1/{project_id}/cloud-phone/phones/batch-update-property cph:phones:updateProperty √ √ 导出云手机数据 POST /v1/{project_id}/cloud-phone/phones/batch-storage cph:phones:storage √ √ 恢复云手机数据 POST /v1/{project_id}/cloud-phone/phones/batch-restore cph:phones:restore √ √ 云手机流量导流 POST /v1/{project_id}/cloud-phone/phones-traffic cph:phones:createTrafficRoute √ √ 云手机磁盘扩容 POST /v1/{project_id}/cloud-phone/phones/expand-volume cph:phones:expandVolume √ √ 获取云手机连接信息 POST /v1/{project_id}/cloud-phone/phones/batch-connection cph:phones:getConnections √ √ 异步执行adb shell命令 POST /v1/{project_id}/cloud-phone/phones/commands cph:phones:execCommands √ √ 同步执行adb shell命令 POST /v1/{project_id}/cloud-phone/phones/sync-commands cph:phones:execSyncCommands √ √ 查询任务执行状态 GET /v1/{project_id}/cloud-phone/jobs/{job_id} cph:jobs:get √ × 查询任务执行状态列表 GET /v1/{project_id}/cloud-phone/jobs cph:jobs:list √ × 批量添加标签 POST /v1/{project_id}/{resource_type}/{resource_id}/tags/action cph:resource:tagResource √ √ 批量删除标签 POST /v1/{project_id}/{resource_type}/{resource_id}/tags/action cph:resource:unTagResource √ √ 查询资源实例 POST /v1/{project_id}/{resource_type}/resource_instances/action cph:resource:listResourcesByTag √ √ 查询资源标签 GET /v1/{project_id}/{resource_type}/{resource_id}/tags cph:resource:listTagsForResource √ √ 查询项目标签 GET /v1/{project_id}/{resource_type}/tags cph:resource:listTags √ √ 获取手机镜像列表 GET /v1/{project_id}/cloud-phone/images cph:images:list √ × 删除手机镜像 DELETE /v1/{project_id}/cloud-phone/images/{image_id} cph:images:delete √ × 手机镜像共享 POST /v1/{project_id}/cloud-phone/images/{image_id}/members cph:images:addMembers √ × 获取手机镜像共享用户列表 GET /v1/{project_id}/cloud-phone/images/{image_id}/members cph:images:listMembers √ × 手机镜像取消共享 DELETE /v1/{project_id}/cloud-phone/images/{image_id}/members/{member_id} cph:images:deleteMembers √ × 获取可用区列表 GET /v1/{project_id}/cloud-phone/availability-zones cph:system:listServerTypesSoldOutStatus √ × 获取子网列表 GET /v1/{project_id}/cloud-phone/subnets cph:system:listSubnets √ × 查询对等连接配置 GET /v1/{project_id}/cloud-phone/peering-routes cph:system:listPeerings √ × 删除对等连接配置 DELETE /v1/{project_id}/cloud-phone/peering-routes cph:system:deletePeerings √ × 添加对等连接配置 POST /v1/{project_id}/cloud-phone/peering-routes cph:system:createPeerings √ × 导出云手机详情 GET /v1/{project_id}/cloud-phone/phones/phone-export cph:phones:exportDetails √ √ 创建委托 POST /v1/{project_id}/agencies cph:system:createAgencies √ × 检查委托 GET /v1/{project_id}/agencies cph:system:checkAgencies √ ×
  • 云手游API 响应参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 error_code String 错误码。 error_msg String 错误描述信息。 failures Array of objects 操作对象异常的说明,详情请参见表1。 表1 failures数据结构说明 参数 参数类型 描述 server_id String 云手机服务器ID。 error_code String 错误码。 error_msg String 错误描述信息。 响应样例 { "request_id": "6837531fd3f54550927b930180a706bf", "error_code": "CPS.1040", "error_msg": "App pool cannot be scaled down.", "failures": [ { "server_id": "1564567b8bab40f34711234cb80d0124", "error_code": "CPS.1027", "error_msg": "Server is being scaled up." }, { "server_id": "1564567b8bab40f34711234cb80d0188", "error_code": "CPS.1028", "error_msg": "No permission to request resources. Server is frozen." } ]}
  • 云手机API 响应参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 error_code String 错误码,详情请参见错误码。 error_msg String 错误描述信息。 响应样例 { "request_id": "aad0860d089c482b943971f802a6718e", "error_code": "CPS.0001", "error_msg": "No permission to request resources." }
  • 操作步骤 调用导出云手机数据接口进行数据备份。 请求示例 {endpoint}信息请从地区和终端节点获取。 POST https://{endpoint}/v1/{project_id}/cloud-phone/phones/batch-storage{ "storage_infos" : [ { "phone_id" : "1234567b8bab40ffb711234cb80d0234", "include_files" : [ "/data/app", "/data/local", "/data/media" ], "exclude_files" : [ "/data/app/com.xx.xx-*" ], "bucket_name" : "mybucket", "object_path" : "myimage/v1/xxxxx.tar" } ]} 您需要指定如下参数: phone_id:要导出数据的手机ID。 bucket_name:导出数据所存储的OBS桶名。 object_path:导出数据所存储的OBS路径。 include_files:需要导出数据的存储路径。 exclude_files:不能导出数据的存储路径。 文件导出打包时仅保留路径最后一级的文件权限、属主、标签等元数据,如对打包文件的上层目录权限有要求,需指定路径到该目录,该目录下如存在其他文件,可用exclude_files参数排除。 示例如下: 导出数据的路径为:/data/media/0/my_files/test.png 导出打包后仅保留test.png的文件权限等,其父目录的文件权限等均不会保留。如果需要恢复的手机中存在/data/media/0/目录而不存在my_files子目录,则恢复后目标手机的/data/media/0/my_files/test.png文件会因丢失my_files父目录的权限等元数据而无法正常使用。 解决办法:修改导出文件的路径为/data/media/0/my_files 这样导出打包后会保留my_files目录及其包含的所有文件的权限等元数据。如果my_files中包含不需要导出的数据如test.txt,则需要在导出参数exclude_files中添/data/media/0/my_files/test.txt排除即可。以此类推,如果目标手机不存在media子目录,则需要将打包路径指定到media这一层级。 响应示例 { "request_id" : "6837531fd3f54550927b930180a706bf", "jobs" : [ { "phone_id" : "1234567b8bab40ffb711234cb80d0234", "job_id" : "1564567b8bab40f34711234cb80d0123" } ]} 数据导出为异步接口,可通过查询任务执行状态接口查询导出任务的执行状态。 调用恢复云手机数据接口进行数据恢复。 请求示例 {endpoint}信息请从地区和终端节点获取。 POST https://{endpoint}/v1/{project_id}/cloud-phone/phones/batch-restore { "restore_infos" : [ { "phone_id" : "1234567b8bab40ffb711234cb80d0234", "bucket_name" : "mybucket", "object_path" : "myimage/v1/xxxx.tar" } ]} 您需要指定如下参数: phone_id、bucket_name、object_path:分别对应步骤1中的内容。 响应示例 { "request_id" : "6837531fd3f54550927b930180a706bf", "jobs" : [ { "phone_id" : "1234567b8bab40ffb711234cb80d0234", "job_id" : "1564567b8bab40f34711234cb80d0123" } ]} 数据恢复为异步接口,可通过查询任务执行状态接口查询恢复任务的执行状态。
  • 云手机属性列表 属性参数都为非必选且可以修改,说明如下: 以aphs1开头和rx1.cp.c60.d32.e1v1.qemu规格的云手机仅支持少量属性的修改。 部分属性可能需要最新的镜像才能支持,如有需要请您更新手机镜像。 名称 参数类型 说明 约束 com.cph.mainkeys Integer 是否隐藏虚拟按键,默认为0,即不隐藏 说明:com.cph.mainkeys和qemu.hw.mainkeys均可用来隐藏/显示虚拟按键,后者现已弃用。 0表示不隐藏,即显示虚拟按键;1表示隐藏,即不显示虚拟按键。 disable.status.bar Integer 是否禁用状态栏,默认为0。 0表示不禁用,即显示状态栏;1表示禁用,即不显示状态栏。 ro.permission.changed Integer 是否在安装app时自动赋予App请求的所有权限,默认为0。 0表示不自动赋予App请求的所有权限,1表示自动赋予App请求的所有权限。 ro.install.auto Integer 是否在App安装时自动确认安装,默认为0。 0表示App安装时不自动确认安装,1表示App安装时自动确认安装。 ro.com.cph.non_root Integer 是否非root,默认为1。 0表示root,1表示非root。 ro.com.cph.notification_disable Integer 是否禁用 消息通知 ,默认为0。 0表示不禁用,1表示禁用。 com.cph.disable_fb_permission Integer 是否关闭App截图隐私保护功能,默认为0, 不关闭。 0 表示不关闭App截图隐私保护功能,对APP设置保护的界面无法进行截图。 1 表示关闭App截图隐私保护功能, 允许对App已设置保护的界面截图。 com.cph.bandwidth_limit String 限制手机公网下载速度。 取值范围:1~99999999,单位kbit/s。-1表示不限速。 注意: 手机速度达到的上限不超过带宽上限。 rx1.cp.c60.d32.e1v1.qemu规格的手机不支持限速。 ro.com.cph.toast_enable Integer 当设置ro.com.cph.non_root=1时,是否启用Toast消息提示框,默认为0 0表示不启用,1表示启用。 com.cph.cam_local_pic_path String 摄像头读取本地图片的路径。摄像头自动加载对应地址的图片。 非空,不多于90个字符,只能由数字、大小写字母、中划线-、下划线_、中文、@、#、点.、冒号:、斜线/和空格组成。 persist.sys.locale String 首次启动时系统的语言识别标签。 非空,不多于64个字符,只能由数字、大小写字母、中划线组成。 sys.prop.writeimsi String IMSI(International Mobile Subscriber Identity,国际移动用户识别码)。 不多于15个字符,只能由十进制数字组成。 sys.prop.writephonenum String 手机号码。 不多于20个字符,只能由十进制数字组成。 sys.prop.writewifissid String 无线网络名称,默认为cloudphone_wifi。 非空,不多于64个字符,只能由数字、大小写字母、中划线-、下划线_、点.、斜线/组成。 gsm.sim.operator.iso-country String SIM卡归属国家,默认为cn。 不多于10个字符,只能由大小写英文字母、英文逗号组成。 gsm.sim.operator.numeric String SIM卡提供商的标识码,默认为46000。 不多于10个字符,只能由大小写英文字母、英文逗号组成。 gsm.sim.operator.alpha String SIM卡的运营商,默认为CMCC。 不多于90个字符,只能由数字、大小写字母、中划线-、下划线_、中文、@、#、点.、逗号, 、冒号:、斜线/、反斜线\、英文左括号(、英文右括号)和空格组成。 gsm.operator.iso-country String 网络运营商国家,默认为cn。 不多于10个字符,只能由大小写英文字母、英文逗号组成。 gsm.operator.numeric String 网络提供商的标识码,默认为46000。 不多于10个字符,只能由大小写英文字母、英文逗号组成。 gsm.operator.alpha String 网络运营商,默认为CMCC。 不多于90个字符,只能由数字、大小写字母、中划线-、下划线_、中文、@、#、点.、逗号, 、冒号:、斜线/、反斜线\、英文左括号(、英文右括号)和空格组成。 ro.hardware.gpurenderer String GPU型号 已弃用 ro.board.platform String 平台型号,默认为hi3660。 已弃用 ro.build.product String 产品型号,默认为STF。 已弃用 ro.product.device String 设备型号,默认为HWSTF。 已弃用 ro.com.cph.sfs_enable String 是否禁用SFS,默认为0。 已弃用 ro.product.manufacturer String 制造商,默认为Huawei。 已弃用 ro.product.name String 产品名称,默认为monbox。 已弃用 qemu.hw.mainkeys Integer 是否隐藏虚拟按键,默认为0,即不隐藏。 已弃用 ro.horizontal.screen String 是否横屏显示,默认为0。 0表示竖屏显示,1表示横屏显示。 com.cph.cg.sign_check_url String 云手游实例签名校验url。 http或者https开头,包含[a-zA-Z0-9_.,/:-],长度不超过256。 com.cph.cg.event_notify_url String 云手游实例事件上报回调url。 http或者https开头,包含[a-zA-Z0-9_.,/:-],长度不超过256。 com.cph.cg.heartbeat_url String 云手游实例心跳上报url。 http或者https开头,包含[a-zA-Z0-9_.,/:-],长度不超过256。 com.cph.cg.heartbeat_interval String 云手游实例心跳上报间隔,单位秒。 1~10个字符,只能由数字组成。 com.cph.cg.app_port String 云游戏应用接入端口。 10000~11000之间的整数。 com.cph.cg.h5_port String 云游戏H5接入端口。 10000~11000之间的整数 ro.com.cph.cloud_app_engine String 是否启用端云推流引擎。 0表示不启用,1表示启用。 父主题: 附录
  • 云手机规格列表 规格名称 规格说明 rc1.se 手机开数 60,CPU 4U,Memory 8GB,720P 30fps rc1.plus 手机开数 30,CPU 6U,Memory 12GB,720P 60fps rc2.se 手机开数 100,CPU 5U,Memory 10GB,720P 30fps rc2.plus 手机开数 80,CPU 6U,Memory 12GB,720P 30fps rc2.pro 手机开数 60,CPU 8U,Memory 16GB,720P 60fps rc2.max 手机开数 40,CPU 16U,Memory 24GB,1080P 30fps rc2.pro_max 手机开数 20,CPU 20U,Memory 32GB,1080P 30fps rc3.se 手机开数 100,CPU 5U,Memory 10GB,720P 30fps rc3.plus 手机开数 90,CPU 6U,Memory 12GB,720P 60fps rc3.pro 手机开数 60,CPU 8U,Memory 16GB,1080P 60fps rc3.max 手机开数 40,CPU 16U,Memory 24GB,1080P 60fps rc3.pro_max 手机开数 20,CPU 20U,Memory 32GB,1080P 60fps 父主题: 附录
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要创建IAM用户,由于IAM为全局服务,则使用任一区域的Endpoint(比如“华北-北京四”区域的Endpoint:“iam.cn-north-4.myhuaweicloud.com”),并在管理员创建IAM用户的URI部分找到resource-path(/v3.0/OS-USER/users),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在管理员创建IAM用户的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3.0/OS-USER/users
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全