华为云用户手册

  • 创建并管理磁盘 一般操作 当磁盘作为数据盘使用时,按如下步骤使用磁盘: 创建磁盘,可分为: 通过云硬盘服务创建磁盘。 通过专属分布式存储服务创建磁盘。 通过专属企业存储服务创建磁盘。 想了解三种方式的差异,请参阅磁盘类型概述。 挂载数据盘。 初始化数据盘。 卸载数据盘。 删除磁盘。 变更配置 如果已有的系统盘或数据盘的容量无法满足需求,您可以扩容磁盘。磁盘扩容完成后,需要将扩容部分的容量划分至原有分区中,或者对扩容部分的磁盘分配新的分区。
  • 使用实例 下载工具,修改工具文件权限: 查看当前硬盘与Raid配置,执行命令:./configure_raid_x86 -a show 执行结果说明: basic raid区域显示当前已有的Raid。示例中为槽位号为1:0与1:1的硬盘组成的Raid,vd的id为0,dg的id为0,级别为Raid1。 boot_drive显示启动分区,一般为系统盘,不支持自定义配置。示例中为id为0的vd。 jbod_list、ubad_list为当前设置为jbod或unconfigured good两种状态的硬盘。 all pds can be configured raid为当前可供自定义组Raid的硬盘,其中已排除了系统盘。 以组Raid10为例,执行命令:./configure_raid_x86 -a create -l 10 -d 1:2,1:3,1:4,1:5,其中成员硬盘的信息用半角英文逗号分隔: 执行命令:./configure_raid_x86 -a show,确认已配置成功,此处新建了id为1的vd,级别为Raid10: 可选,删除已存在的Raid,执行命令./configure_raid_x86 -a delete -v 1,其中1为待删除的vd的id。删除后成功后执行命令./configure_raid_x86 -a show再次查看,以确认删除正常:
  • 创建并管理裸金属服务器 一般操作 通常按以下步骤使用裸金属服务器: 参考创建裸金属服务器创建裸金属服务器实例。 若裸金属服务器配额不足,您可以申请扩大配额。 登录裸金属服务器实例。使用的操作系统不同,登录方式也不同。 Linux实例:远程登录方式、SSH密钥方式登录或者SSH密码方式登录。 Windows实例:远程桌面连接(MSTSC方式)。 关机裸金属服务器。 释放裸金属服务器。 计费管理 您可以使用不同的方式续费包年/包月裸金属服务器: 手动续费。 自动续费。
  • 自定义组RAID工具 下载地址:https://support.huawei.com/carrier/navi?coltype=software#col=software&from=product&detailId=PBI1-259881031&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22346033 下载完成后,将工具传入需要组RAID的裸金属服务器上,使用以下命令为工具赋权。其中physical.io2.xlarge,physical.d2.large机型使用configure_raid_x86,其余使用configure_raid_arm。 # chmod +x ./configure_raid_x86 # chmod +x ./configure_raid_arm 以configure_raid_x86脚本为例,常见命令及参数描述如下: # ./configure_raid_x86 -h 查看帮助 # ./configure_raid_x86 --a show 查看raid配置 其中basic raid为raid驱动器中所有vd信息, bootdrive为系统盘vd信息,系统盘raid为不可随意删除,pds为所有磁盘信息。 # ./configure_raid_x86 --a create --l LEVEL --d DISKS 配置raid 参数说明: --l:必选参数,raid级别。 --d:可选参数,创建raid的pds,若不选择则默认选择全部除系统盘以外pd。 选择的磁盘若已有raid/单盘jbod配置,脚本会拆除原有raid配置并组新raid且无法配置系统盘raid。 # ./configure_raid_x86 --a delete --v VD 删除raid --v: 可选参数,待删除的vd,若不选择则默认选择全部除系统盘以外vd。 无法删除系统盘raid。
  • 常见报错说明 在使用组RAID工具过程中,常见的报错提示及解决方法如表2所示。 表2 常见报错说明 console信息 问题原因 Flavor not supported!!! 不支持此flavor,请勿使用 Necessary document not found!! 解压后文件未找到,检查文件 Raid controller not found!! 裸机不含有raid驱动器,请勿使用 unknown raid level 未识别的raid级别 Run command failed 运行出错,联系支撑人员
  • 支持列表 支持配置RAID的实例规格及相关配置信息如表1所示。 表1 支持配置RAID的实例规格及配置 实例规格 支持Raid BV513.0.1.0 (physical.d2.large) RAID 0/1/5/6/10/50/60 BV563 (physical.io2.xlarge) RAID 0/1/5/6/10/50/60 BV612 (physical.ki1.4xlarge.cbg.ondemand) RAID 0/1/10 支持配置RAID的操作系统如下: EulerOS 2.3及以上版本 Ubuntu 20.04 及以上版本 Debian 10 及以上版本 CentOS 7.6 及以上版本
  • VPC网卡查看方式 VPC网络的网络接口可以在管理控制台查看(裸金属服务器详情页“网卡”页签下,如图1所示)。对于Linux镜像,也可以根据分配的IP地址在操作系统中找到对应的vlan子接口或bond接口。 图1 查看VPC网卡 以CentOS 7.4 64 bit为例,登录到操作系统中,在“/etc/sysconfig/network-scripts”目录下可以看到以下网卡配置文件:ifcfg-eth0,ifcfg-eth1,ifcfg-bond0,ifcfg-bond0.3029,ifcfg-bond0.3187,ifcfg-bond0.3189,用户需要通过IP映射来匹配网络。 执行ifconfig命令,从控制台查看VPC网卡1的私有IP地址分别为192.168.0.48,MAC地址为fa:16:3e:04:5c:8c;VPC网卡2的私有IP地址为192.168.0.14,MAC地址为fa:16:3e:04:5c:6a。eth0和eth1自动组成bond0,它们拥有相同的MAC地址。同时我们可以确定,ifcfg-eth0,ifcfg-eth1,ifcfg-bond0,ifcfg-bond0.3029,ifcfg-bond0.3187,ifcfg-bond0.3189为VPC网卡配置文件。 各网卡和bond配置文件的配置信息如下:
  • 配置自定义VLAN网络(Windows Server系列) 下面以Windows Server 2012 R2 Standard操作系统为例,介绍裸金属服务器的自定义VLAN网络配置方法: Windows Server系列其他操作系统的配置方法与Windows Server 2012 R2 Standard类似。 登录Windows裸金属服务器。 进入裸金属服务器的Windows PowerShell命令行界面,执行以下命令,查询网卡信息。 Get-NetAdapter 返回信息示例如下: 其中,“eth0”和“eth1”为承载VPC网络的网络设备,“以太网 4”和“以太网 6”为承载自定义VLAN网络的网络设备。下面步骤将使用“以太网 4”和“以太网 6”配置自定义VLAN网络。 如果想提高OS侧出方向流量,请参考方法一配置;如果对流量没有特殊需求,请参考方法二配置。 方法一:OS内组bond为交换机独立模式,出方向流量可达到主主的效果,但入方向仍然与主备模式保持一致。 执行以下命令,创建自定义VLAN网络的端口组。 New-NetLbfoTeam -Name qinq -TeamMembers "以太网 4","以太网 6" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic -Confirm:$false 其中,“qinq”为给自定义VLAN网络端口组规划的端口组名称,“以太网 4”和“以太网 6”为2中获取的承载自定义VLAN网络的网络设备。 执行以下命令,查询网络适配器列表。 Get-NetLbfoTeamMember Get-NetAdapter 方法二:OS内组bond为主备模式。 执行以下命令,创建自定义VLAN网络的端口组。 New-NetLbfoTeam -Name Team2 -TeamMembers "以太网4","以太网 6" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm IPAddresses -Confirm:$false 其中,“Team2”为给自定义VLAN网络端口组规划的端口组名称,“以太网 4”和“以太网 6”为2中获取的承载自定义VLAN网络的网络设备。 执行以下命令,设置3.a中创建的“Team2”端口组中一个网口模式为备用模式。 Set-NetLbfoTeamMember -Name "以太网 4" -AdministrativeMode Standby -Confirm:$false 当前自定义VLAN网络配置的端口组只支持主备模式,其中,“以太网 4”为组成自定义VLAN网络端口组中的其中一个端口,配置哪个端口为备用端口,根据您的规划自行决定。 get-NetLbfoTeamMember Get-NetAdapter 执行以下命令,进入“网络连接”界面。 ncpa.cpl 执行完成后,进入如下界面: 配置自定义VLAN网络。 在“网络连接”界面,双击在3中创建的端口组“Team2”,进入“Team2 状态”页面。 单击“属性”,进入“Team2 属性”页面。 在“网络”页签下双击“Internet 协议版本 4 (TCP/IPv4)”,进入“Internet 协议版本 4 (TCP/IPv4) 属性”页面。 选择“使用下面的IP地址”,配置自定义VLAN网络的IP地址和子网掩码,单击“确定”。 其中,为自定义VLAN网络规划的IP地址在没有与VPC网段冲突的情况下可任意规划,需要通过自定义VLAN网络通信的裸金属服务器须将自定义VLAN网络配置在同一个网段。 参见上述步骤,完成其他裸金属服务器的配置。 待其他裸金属服务器配置完成后,互相ping对端自定义VLAN网络配置的同网段IP,检查是否可以ping通。 如果需要在此基础上配置VLAN子接口进行网络平面隔离,可以进行如下操作: 执行以下命令,在已有Team2基础上建立VLAN子接口。 Add-NetLbfoTeamNIC -Team "Team2" -VlanID XXX -Confirm:$false 其中“Team2”为组建bond的名称,“XXX”为VLAN ID。 新建VLAN子接口完成后,参考4和5完成网口“Team2-VLAN 500”的IP和掩码等网络设置。 父主题: 自定义VLAN网络
  • 操作场景 停止服务器,即对裸金属服务器执行关机操作。停止服务器的前提条件是裸金属服务器必须处于“运行中”状态。 停止服务器不会影响“包年/包月”付费类型(也称包周期)服务器的费用。如有其他绑定的产品,如云硬盘、弹性公网IP、带宽等,按各自产品的计费方式(“包年/包月”或“按需付费”)进行收费。 停止服务器为“强制关机”方式,会中断您的业务,请确保服务器上的文件已保存。 当前仅支持从管理控制台关机裸金属服务器,不支持在单独实例OS内部使用关机命令关机裸金属服务器。由于在单独实例OS内部使用shutdown等其他关机命令时,会被系统认为异常关机操作,导致命令不生效。
  • 操作场景 当您不再需要裸金属服务器时,可将其删除。服务器的状态一旦变为“已删除”,就不再产生与该服务器相关的费用。 在您删除服务器之后,短时间内仍可在控制台看见该服务器(状态为“已删除”),然后该条目将自动被删除。在服务器删除后,标签和卷等资源会逐步与服务器取消关联,存储卷上的数据也会被删除。 对于“包年/包月”裸金属服务器,计费周期到期后,您可以手动释放;如果一直未续费,服务器也会自动释放。服务器到期前,您可以申请“退订”提前释放服务器。
  • 操作场景 用户创建裸金属服务器后,可以通过“申请状态”栏查看任务的创建状态。创建裸金属服务器的任务可以包括创建裸金属服务器资源、绑定弹性公网IP、挂载云硬盘等子任务。 申请状态栏的任务状态包括如下两类: 处理中:指系统正在处理的请求。 处理失败:指未能成功处理的请求。对于处理失败的任务,系统会自动回退,同时在界面上直观的展示错误码,例如“(BMS.3033)创建系统卷失败。” 本节介绍如何查看裸金属服务器的申请状态以及申请状态栏的提示信息说明。
  • Ubuntu 16.04安装操作 登录裸金属服务器,执行以下命令,切换至root权限。 sudo root (可选)如果不存在依赖包gcc、g++和make,请执行以下命令进行安装。 apt-get install gcc apt-get install g++ apt-get install make (可选)将Nouveau驱动列入黑名单。 如果已经安装并加载了Nouveau的显卡驱动,请执行以下操作将Nouveau驱动列入黑名单以避免冲突。 编辑“/etc/modprobe.d/blacklist.conf”,在文件后面加入以下内容: blacklist nouveauoptions nouveau modeset=0 执行以下命令备份与重建initramfs: mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak sudo update-initramfs -u 重启:sudo reboot (可选)如果X服务正在运行,请执行systemctl set-default multi-user.target命令并重启裸金属服务器以进入多用户模式。 (可选)安装NVIDIA GPU驱动。 如果选择了特定版本的NVIDIA GPU驱动,而不是捆绑在CUDA工具包中的版本,则需要执行此步骤。 下载NVIDIA GPU驱动安装包NVIDIA-Linux-x86_64-xxx.yy.run(下载链接:https://www.nvidia.com/Download/index.aspx?lang=en),并将该安装包上传至裸金属服务器的“/tmp”目录下。 图2 搜索NVIDIA驱动包(Ubuntu 16.04) 执行以下命令,安装NVIDIA GPU驱动。 sh ./NVIDIA-Linux-x86_64-xxx.yy.run 执行以下命令,删除安装包。 rm -f NVIDIA-Linux-x86_64-xxx.yy.run 安装CUDA工具包。 下载CUDA Toolkit安装包cuda_a.b.cc_xxx.yy_linux.run(下载链接:https://developer.nvidia.com/cuda-downloads),并将该安装包上传至裸金属服务器的“/tmp”目录下。 执行以下命令,修改安装包的权限。 chmod +x cuda_a.b.cc_xxx.yy_linux.run 执行以下命令,安装CUDA工具包。 ./cuda_a.b.cc_xxx.yy_linux.run --toolkit --samples --silent --override --tmpdir=/tmp/ 执行以下命令,删除安装包。 rm -f cuda_a.b.cc_xxx.yy_linux.run 执行如下三条命令,验证是否安装成功。 cd /usr/local/cuda/samples/1_Utilities/deviceQueryDrv/ make ./deviceQueryDrv 回显信息中包含“Result = PASS”,表示CUDA工具包和NVIDIA GPU驱动安装成功。
  • CentOS 7.4安装操作 登录裸金属服务器,执行以下命令,切换至root权限。 su root (可选)如果不存在依赖包gcc、gcc-c++、make和kernel-devel,请执行以下命令进行安装。 yum install gcc yum install gcc-c++ yum install make yum install kernel-devel-`uname -r` (可选)将Nouveau驱动列入黑名单。 如果已经安装并加载了Nouveau的显卡驱动,请执行以下操作将Nouveau驱动列入黑名单以避免冲突。 编辑“/etc/modprobe.d/blacklist.conf”,在文件后面添加blacklist nouveau。 运行以下命令备份与重建initramfs: mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -v /boot/initramfs-$(uname -r).img $(uname -r) 重启:reboot。 (可选)如果X服务正在运行,请执行systemctl set-default multi-user.target命令并重启裸金属服务器以进入多用户模式。 (可选)安装NVIDIA GPU驱动。 如果选择了特定版本的NVIDIA GPU驱动,而不是捆绑在CUDA工具包中的版本,则需要执行此步骤。 下载NVIDIA GPU驱动安装包NVIDIA-Linux-x86_64-xxx.yy.run(下载链接:https://www.nvidia.com/Download/index.aspx?lang=en),并将该安装包上传至裸金属服务器的“/tmp”目录下。 图1 搜索NVIDIA驱动包(CentOS 7.4) 执行以下命令,安装NVIDIA GPU驱动。 sh ./NVIDIA-Linux-x86_64-xxx.yy.run 执行以下命令,删除安装包。 rm -f NVIDIA-Linux-x86_64-xxx.yy.run 安装CUDA工具包。 下载CUDA Toolkit安装包cuda_a.b.cc_xxx.yy_linux.run(下载链接:https://developer.nvidia.com/cuda-downloads),并将该安装包上传至裸金属服务器的“/tmp”目录下。 执行以下命令,修改安装包的权限。 chmod +x cuda_a.b.cc_xxx.yy_linux.run 执行以下命令,安装CUDA工具包。 ./cuda_a.b.cc_xxx.yy_linux.run --toolkit --samples --silent --override --tmpdir=/tmp/ 执行以下命令,删除安装包。 rm -f cuda_a.b.cc_xxx.yy_linux.run 执行如下三条命令,验证是否安装成功。 cd /usr/local/cuda/samples/1_Utilities/deviceQueryDrv/ make ./deviceQueryDrv 回显信息中包含“Result = PASS”,表示CUDA工具包和NVIDIA GPU驱动安装成功。
  • 前提条件 已绑定弹性公网IP。 已下载对应操作系统所需驱动的安装包。 表1 NVIDIA GPU驱动和CUDA工具包下载 操作系统 需要下载的驱动 下载地址 Ubuntu 16.04、CentOS 7.4 NVIDIA GPU驱动安装包“NVIDIA-Linux-x86_64-384.81.run” https://www.nvidia.com/download/driverResults.aspx/124722/en-us CUDA工具包安装包“cuda_9.0.176_384.81_linux.run” https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
  • 什么是华为云WSA 全站加速(Whole Site Acceleration)适用于各行业动静态内容混合、含较多动态资源请求(如asp、jsp、php等格式的文件)的源站应用服务。通过智能网络加速技术及优质的全线路、跨区域覆盖网络,优化客户在动静态混合、纯动态站点/APP、内容上传、API调用、四层协议传输、跨区域传输等场景下网络传输的成本、性能、稳定性、安全性,提高访问成功率,实现网站整体加速与实时优化。 了解更多全站加速详情请见全站加速WSA。 图1 全站加速请求示意图
  • WSA计费说明 WSA采用基础费用+增值服务费用的方式收取,计费方式详见表1,具体收费标准请参见价格详情。 开通WSA服务后,全站加速 域名 产生的费用由WSA服务收取,CDN和WSA资源包不能相互抵扣。 表1 WSA计费方式 计费项 计费方式 描述 基础服务计费 流量计费 按照每小时实际使用的流量进行计费,也可以购买流量包抵扣使用的流量。 峰值带宽计费 按照每日峰值带宽进行计费,系统每5分钟统计1个峰值带宽,每日得到288个值,取其中的最大值作为计费带宽。 月结95峰值带宽计费 在一个自然月内,将每个有效日的所有峰值带宽的统计点进行排序,去掉数值最高的5%的统计点,取剩下的数值最高统计点为计费点,再根据合同约定的单价计费。 日峰值月平均计费 在一个自然月内,对所有有效日的最大峰值带宽求和取平均,获得当月的计费带宽,再根据合同约定的单价计费。 增值服务计费 全站加速请求数 全站加速的动态请求数和静态请求数计费。
  • JDK 1.8安装方法 访问JDK官网下载链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 。 您也可以在搜索引擎中查找JDK1.8,并前往官网下载。 查找最新版本,并选择相应的操作系统进行下载。 示例: 最新版本:8u271 操作系统:选择Windows x64 安装过程可以直接按照默认设置来完成,连续单击“下一步”完成JDK的安装。 安装完成之后,需要配置相应的环境变量。 右键单击“我的电脑”,选择“属性”,打开“系统”页面。 图1 系统 单击“高级系统设置”,打开“系统属性”页面。 图2 高级系统设置 单击“环境变量”。 图3 环境变量 在“系统变量”栏单击“新建”,输入如下信息: 变量名:JAVA_HOME 变量值:以实际JDK安装时使用的目录为准 单击“确定”,保存变量。 图4 新建系统变量 再次单击“新建”新建系统变量: 变量名:classpath 变量值: .;%JAVA_HOME%\lib; 在“系统变量”栏查找并选中变量Path,然后单击“编辑”,在弹出的对话框中的变量值末尾,添加如下字符串: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 父主题: 附录
  • 集成SDK 在Demo.cpp文件的main函数中,调用Windows SDK接口完成初始化。 访问https://cloudvr.obs.cn-east-3.myhuaweicloud.com/example.zip下载模板example项目。 打开“example/src”路径对应的main.cpp文件,以模板为基准按照本地项目的实际情况进行修改。 模板使用说明: 模板提供了三种类型的CVRParameter构造函数分别对应的初始化逻辑,只需要修改下图中各变量的值就可以使用,客户端会根据linkType的变量选择执行的逻辑: 图1 初始化3D业务时需要注意和修改的参数 A类(linkType = TYPE_ACCOUNT):将账号密码等变量传入SDK内部,由SDK处理平台调度逻辑,之后进行VR业务的初始化。 该方式适用于对于定制要求不高,希望能尽快体验CVR服务的场景。 B类(linkType = TYPE_ IAM TOKEN):客户端通过账号密码访问IAM云服务,将获取到用户token和对应的projectID传入SDK内部,而不是直接传入账号密码。 该方式适用于客户端对账号安全有一定要求的场景。 C类(linkType = TYPE_GPUINFO):客户端通过账号密码访问IAM云服务,在获取到用户Token和对应的projectID后,访问CVR服务的调度接口,获取到对应区域的GPU服务器的IP和Token,传入SDK内部,完成VR业务的初始化。 该方式适用于对调度策略有定制要求的场景。 您可以根据需要自行提取相关逻辑到自己的客户端中。
  • SDK下载 如需获取VR云渲游平台CVR Web SDK,请执行以下操作: 打开SDK开发者中心。 选择“VR云渲游Web SDK”进行“SDK下载”。 获取WebSDK.zip文件,并解压。 解压后的文件如表 WebSDK.zip包含的文件所示。 表1 WebSDK.zip包含的文件 文件名 说明 README.md 使用说明 CloudVR-Web-SDK.exe Example示例服务的启动程序 version.txt 版本号文件 appsettings.json Example 示例服务程序配置文件(无需修改) config.yml Example 示例服务程序配置文件,运行示例前需要配置该文件 wwwroot/ wwwroot为SDK文件夹 父主题: Web SDK
  • SDK使用 获取X-Subject-Token和 ProjectId需要用到华为云账号、密码、项目名称,请参考获取IAM用户Token。 通过wwwroot/js/init.js文件,获取device_id,device_type,device_brand,protocol_type参数信息。具体可参考wwwroot/login.html文件。 获取gpu_ip,port,link_token,task_id。需要用到X-Subject-Token,device_id,device_type,device_brand,protocol_type。X-Subject-Token需要添加在请求头中,请参考VR云渲游平台节点调度API。 确保安全组配置中已放通所有UDP端口、TCP/10100-10101、TCP/10200-10201、TCP/10300-10301端口。 父主题: 客户端开发
  • SDK导入和使用 根据使用的终端设备下载对应的DemoApplication并导入。 设备若为VR头显,通过https://cvr-east-3.obs.myhuaweicloud.com/DemoVrApplication.zip下载DemoVrApplication.zip; 设备若为手机、平板、华为智慧屏,通过https://cvr-east-3.obs.myhuaweicloud.com/Demo3dApplication.zip下载Demo3dApplication.zip 下载后解压,并使用android studio打开。 图1 打开项目 配置。 解压下载的SDK.zip文件,根据头显种类获取对应的aar文件。 将所需的aar文件放入模板项目的app\libs中 图2 解压的SDK文件 表1 SDK依赖 头显 依赖命令 华为VR Glass implementation(name: 'app-Android-Normal-HWVR-debug',ext:'aar') Pico Neo1、Pico Neo2、Pico G2、 Pico Neo3 implementation(name: 'app-Android-Normal-Pico-debug',ext:'aar') implementation(name: 'PvrSDK-Native-release',ext:'aar') Oculus Quest、Oculus Go、 Oculus Quest2 implementation(name: 'app-Android-Normal-OVR-debug',ext:'aar') 小米超级玩家一体机 implementation(name: 'app-Android-Normal-MiVR-debug',ext:'aar') 手机、平板、华为智慧屏 implementation(name: 'app-Android-Normal-Mobile-debug',ext:'aar') 根据引入的sdk名称,在app\build.gradle文件修改配置。 在注释中选用实际使用aar包对应的implementation字段即可。 图3 app\build.gradle的引用配置 修改app\src\main\java\com\example\myapplication\MainActivity.java。 在MainActivity.java中对参数配置进行修改,两种模板所需修改的参数如下所示。 图4 VR客户端的模板所需参数 图5 3D客户端的模板所需参数 (只有VRGlass的客户端需要的配置)在AndroidManifest.xml中,参照注释修改Intent-Filter字段。 图6 app\src\main\AndroidManifest.xml中的intent-filter字段 编译和打包。 选择“Sync Project With Gradle Files”,完成SDK集成。 图7 选择“Sync Project With Gradle Files” 选择Build APK(s),完成APK打包。 图8 选择Build APK(s) 父主题: 客户端开发
  • 修订记录 发布时间 修订记录 2021-07-30 修改 SDK接口参考,SDK1.4.1上线,新增部分SDK接口。 SDK导入和使用,修改SDK使用方式,新增模板。 2021-04-30 第二次正式发布。 新增 JDK 1.8安装方法 旧版客户端升级 错误信息回调 修改 SDK接口参考,SDK1.4.0上线,新增部分SDK接口。 SDK导入和使用,修改SDK使用方式,新增模板。 2020-09-08 第一次正式发布。 父主题: 附录
  • 下载SDK 如需获取VR云渲游平台CVR Android SDK,请执行以下操作: 打开SDK开发者中心。 选择“VR云渲游平台”的“Android SDK”进行下载。 获取VRClientSDK.zip文件,并解压。 解压后的文件如表1所示。 表1 VRClientSDK.zip包含的文件 文件名 适应机型 app-Android-Normal-HWVR-debug.aar 华为VR Glass app-Android-Normal-OVR-debug.aar Oculus Quest、Oculus Quest2 app-Android-Normal-MiVR-debug.aar 小米超级玩家一体机 assembleAndroidNormalPicoDebug.zip Pico Neo1、Pico Neo2、Pico G2、Pico Neo3 app-Android-Normal-Mobile-debug.aar 手机、平板、华为智慧屏 version.txt SDK版本 说明: 1.4.0及以上版本的新增文件,1.4.0以下版本暂无识别版本号方式。 其中,assembleAndroidNormalPicoDebug.zip解压后包含的文件如表2所示。 表2 assembleAndroidNormalPicoDebug中包含的文件 文件名 说明 是否必须依赖 app-Android-Normal-Pico-debug.aar VR云渲游提供的SDK 是 PvrSDK-Native-release.aar Pico官方提供的SDK 是
  • SDK介绍 华为云VR云渲游平台Android SDK集成华为自研音、视频传输协议及网络优化算法,为您提供低时延、高可靠的云VR和云3D体验。 华为开发者中心提供两类云渲游SDK:Mobile-SDK和VR-SDK,分别面向移动端设备和VR设备,可捕获与预测动作数据(移动端设备:键鼠、触屏等动作数据;VR设备:头显和手柄的动作数据),并将其上传至云端,待云端完成渲染、编码后,将接收到的画面呈现在对应的设备上。此外,SDK还提供获取设备标识符等通用接口,便于您在SDK外层封装自身业务逻辑。 父主题: Android SDK
  • SDK下载 如需获取VR云渲游平台CVR Windows SDK,请执行以下操作: 打开SDK开发者中心。 选择“VR云渲游Windows SDK”进行“SDK下载”。 获取WindowsSDK.zip文件,并解压。 解压后的文件如表1所示。 表1 WindowsSDK.zip包含的文件 文件名 说明 bin 二进制文件 include 包含的头文件 lib 静态数据链接库文件 version.txt 版本号文件 父主题: Windows SDK
  • SDK概述 VR云渲游平台服务软件开发工具包(CVR SDK,VR Cloud Rendering & Gaming Platform Software Development Kit)是对CVR服务提供的客户端API进行的封装。用户直接调用SDK提供的接口函数即可实现使用不同类型客户端,使用VR应用或者3D应用的目的。 我们针对不同SDK类型提供了开发指南,开发指南详细介绍了SDK的下载、开发操作、参数、示例和常见问题处理。 SDK类型 开发指南 Android Android SDK开发指南 Windows Windows SDK开发指南 Web Web SDK开发指南
  • Example示例 本章节为测试示例,方便您快速调通整个流程并体验。 具体操作如下: 解压Sdk后的目录。 图1 Sdk目录 确保环境已经安装dotnet 5.0(若没有安装,运行CloudVR-Web-SDK.exe会出现闪退)。 配置config.yml信息。 表1 参数说明 参数 说明 取值样例 ListenIp 监听ip 0.0.0.0 ListenPort 监听端口 8080 LaunchBrowser 运行CloudVR-Web-SDK.exe后是否自动打开网页 true AuthCode web页面访问的验证码 1A2B3c IAMEndpoint IAM终端节点 - SchedulerEndpoint Scheduler终端节点 - DomainName 账户名。 - UserName IAM用户名。 - Password IAM用户登录密码。 - ProjectName 项目名称。 - ApplicationId 应用ID,请确保云服务器已经安装该应用。 后续可以根据业务需求自行分配调度。 - ApplicationUser 应用用户名,应用使用者的唯一标识。 TestUser1 ApplicationLaunchArgs 应用启动参数。 - GpuIpType 使用ip类型(公网ip:public,私网ip: private, 私网ip使用场景:专线, vpn) public Resolution 分辨率 1080p 具体信息获取方式如下: 登录管理控制台。 鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”。 在“API凭证”页面,查看IAM用户名、账户名、项目名称信息。 在左侧服务列表中选择“VR云渲游平台”,在“应用管理”中选择应用ID。如果没有应用,请先创建应用。 在IAM_API终端节点查找区域对应的终端节点信息,选择全局终端节点或资源所在区域的终端节点。 图2 IAM的终端节点 在地区和终端节点查找CVR服务对应终端节点信息,根据资源所在区域选择相应的终端节点。 图3 终端节点信息 运行CloudVR-Web-SDK.exe可执行文件。 打开浏览器访问:http://127.0.0.1:8080。 在浏览器页面输入验证码,单击“登录”。 父主题: Web SDK
  • SDK接口 接口 描述 是否必选 Init.getDevice_id() 【功能说明】 获取设备id,用于作为渲染调度接口的请求参数。 详细使用请参考wwwroot/login.html文件。 是 Init.getDevice_type() 【功能说明】 获取设备类型,用于作为渲染调度接口的请求参数。 详细使用请参考wwwroot/login.html文件。 是 Init.getDevice_brand() 【功能说明】 获取设备品牌,用于作为渲染调度接口的请求参数。 详细使用请参考wwwroot/login.html文件。 是 Init.getProtocol_type() 【功能说明】 获取协议类型,用于作为渲染调度接口的请求参数。 详细使用请参考wwwroot/login.html文件。 是 cloudDesktopApp.loadApp() 【功能说明】 启动并加载云应用。 【请求参数】 详细使用请参考wwwroot/index.html文件。 是 cloudDesktopApp.on() 【功能说明】 回调函数。 ready:连接就绪。 exit:退出回调。 streamPause:串流画面暂停回调。 streamResume:串流画面恢复回调。 appClosed:远程app应用关闭回调。 否 cloudDesktopApp.appEnterFullscreen() 【功能说明】 进入全屏。 否 cloudDesktopApp.appExitFullscreen() 【功能说明】 退出全屏。 否 cloudDesktopApp.restartApp() 【功能说明】 重启远程app。 否 cloudDesktopApp.pauseStream() 【功能说明】 暂停串流画面。 否 cloudDesktopApp.resumeStream() 【功能说明】 恢复串流画面。 否 父主题: 客户端开发
  • SDK接口参考 接口 描述 是否必选 IntentCVR() 【功能说明】 初始化IntentCVR接口。 是 CVRParameter(std::string userName, std::string userDomain, std::string userPassWord, std::string projectName) 【功能说明】 用户通过该接口配置华为云用户名及密码,客户端根据该信息访问华为云IAM 获取Token 后再连接至VR云渲游平台进行鉴权,以下简称“A类 CVRParameter构造函数”。 【请求参数】 userDomain:华为云租户名 userName:华为云用户名 password:华为云用户密码 projectName:项目名称 说明: 如何获取上述参数对应值,请参考: https://support.huaweicloud.com/sis_faq/sis_04_0032.html 是 CVRParameter构造函数包括A类、B类、C类,请根据需要自选其中一类使用。 三类构造函数的适用场景请参考SDK使用。 CVRParameter(std::string iamToken) 【功能说明】 用户可自行访问IAM获取Token,通过该接口注入Token进行CVRParameter初始化,以下简称“B类 CVRParameter构造函数”。 【请求参数】 iamToken:用户Token。 CVRParameter(std::string gpuIp, std::string gpuToken) 【功能说明】 用户自行获取gpuIp与gpuToken,通过该接口配置gpuIp与gpuToken用于设备直连GPU服务器,以下简称“C类 CVRParameter构造函数”。 【请求参数】 gpuIP:GPU服务器公网IP。 gpuIP的获取方式,请参考“渲染节点调度”。 gpuToken:访问GPU服务器所需鉴权Token。 gpuToken的获取方式,请参考“渲染节点调度”。 void setServiceDomain(std::string serviceDomain) 【功能说明】 设置Service域名,用于指定连接的 GPU云服务器 所在区域。 【请求参数】 ServiceDomain:Service域名。 ServiceDomain的取值,请参见“地区和终端节点”中的“终端节点(Endpoint)”。 是 void setAppId(std::string appID) 【功能说明】 设置设备要访问的应用。 【请求参数】 appID:应用对应的应用ID。获取应用ID,请参考APP ID的获取方法。 是 void setPort(int port) 【功能说明】 GPU默认监听端口是10020,如果您更改了GPU监听端口(如使用多路会话模式),则需要使用该接口修改客户端访问端口号 【请求参数】 port:指定设备发送连接请求的目的端口信息。 否 std::string initiateLoad(CVRParameter customParameter) 【功能说明】 加载相关参数,启动云应用流化业务,并对输入参数进行检验。 【请求参数】 customParameter:已经初始化的鉴权参数。 是 void setLocation(std::string location) 【功能说明】 设置客户端连接的目标云服务器所在区域。 【请求参数】 location:用于设置调度接口的策略,可以指定一个或多个区域,CVR服务会从指定区域中分配空闲的服务器。支持配置公有云region_id,如cn-east-3。 如果未设置location,默认为空数组,此时CVR服务会根据设备的调度策略进行GPU服务器的分配。 location的取值,请参见“地区和终端节点”中的“区域”。 否 void setProjectID(std::string projectID) 【功能说明】 设置访问客户端调度接口使用的项目ID。 【请求参数】 projectID:项目ID,用于访问调度接口。获取projectID,请参见“获取项目ID”。 否 仅使用B类的CVRParameter构造函数时需要传入该值。 void setApplicationUserID(std::string userID) 【功能说明】 设置访问客户端调度接口使用的用户标识ID,如不存在用户标识ID,则不需要设置。 【请求参数】 userID:用户标识ID,用于访问调度接口。 否 void setAppLaunchArgs(std::string appLaunchArgs) 【功能说明】 设置应用启动参数,如应用启动无额外参数,则不需要设置。 【请求参数】 appLaunchArgs:应用启动参数。 否 public void setResolution(String resolution) 【功能说明】 设置应用启动的分辨率,默认为1080p。 【请求参数】 resolution:应用启动的分辨率。可以设置的参数为“480p”,“540p”,“720p”,“1080p”,“2k”,“4k” 否 public String getResolution() 【功能说明】 获取设置的应用启动分辨率。 【请求参数】 无 否 public void setGpuIpType(String gpuInfoType) 【功能说明】 设置gpu服务器ip的类型,默认为public。 【请求参数】 gpuInfoType:gpu服务器ip的类型,弹性公有ip填“public”,私有ip填"private"。 否 public String getGpuIpType() 【功能说明】 获取设置的gpu服务器ip类型。 【请求参数】 无 否 std::string getDeviceID() 【功能说明】 获取设备ID。 【请求参数】 无 否 仅使用C类的CVRParameter构造函数时需要获取该值。 std::string getBrand() 【功能说明】 获取设备品牌。 【请求参数】 无 否,仅使用C类的CVRParameter构造函数时需要获取该值。 void setErrCallback(CvrErrCallback errCallback) 【功能说明】 用于获取SDK内部的错误信息并处理。 【请求参数】 errCallback:回调接口,支持用户自定义。相关注意事项请参考错误信息回调。 否 CVRInstance_t* CVRCreateInstance() 【功能说明】 创建一个云应用客户端实例。 【请求参数】 无 是 CVRCode CVRSetConfig(CVRInstance_t* thiz, CVRConfig_t* config) 【功能说明】 对云应用客户端实例设置属性。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 config:CVRConfig_t类型的初始化参数对象。 是 CVRCode CVRStart(CVRInstance_t* thiz) 【功能说明】 开始显示画面。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 是 void CVRSetLogLevel(int level); 【功能说明】 设置日志级别。 【请求参数】 level:范围[0-8]。数值越大,日志越详细。 否 CVRCode CVRSetRenderView(CVRInstance_t* thiz,void* view) 【功能说明】 画面显示在指定窗口句柄。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 view:一个窗口句柄。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRSetControlStateChangedCallback(CVRInstance_t* thiz, CVRControlStateChangedCallback_t callback,void* user_data) 【功能说明】 设置主控模式状态变化的回调通知。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 callback:事件触发时的回调函数。 view:一个窗口句柄。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRSetOnVideoSizeChangedCallback(CVRInstance_t* thiz, CVROnVideoSizeChangedCallback_t callback,void* user_data) 【功能说明】 设置当前视频大小变化的回调通知。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 callback:事件触发时的回调函数。 user_data:设置回调函数中自定义数据。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRSetShowDebug(CVRInstance_t* thiz,int show_debug) 【功能说明】 是否显示调试参数。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRGetStatistics(CVRInstance_t* thiz, CVRStatistics_t* statistics) 【功能说明】 获取当前串流的统计数据。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 statistics:接收相关统计数据的外部变量。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 是 CVRCode CVRGetAuth(CVRInstance_t* thiz, CVRAuth* out_val) 【功能说明】 获取当前是主控客户端还是旁观客户端。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 out_val:接收当前模式的变量。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRSetOnAppClosedCallback(CVRInstance_t* thiz,CVROnAppClosedCallback_t callback,void* user_data) 【功能说明】 设置应用关闭的回调通知。 【请求参数】 thiz:由CVRCreateInstance()创建的云应用客户端实例。 callback:事件触发时的回调函数。 user_data:设置回调函数中自定义数据。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRRestartApp(CVRInstance_t* thiz,bool cancel) 【功能说明】 重新启动应用。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRPause(CVRInstance_t* thiz) 【功能说明】 暂停云应用资源。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 CVRCode CVRResume(CVRInstance_t* thiz) 【功能说明】 恢复云应用资源。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 否 void CVRRelease(CVRInstance_t* thiz) 【功能说明】 获取资源并停止云应用。 【返回值】 返回CVRCode类型的返回码,如果值为CVR_CODE_OK常量,则为成功。 是 父主题: Windows SDK
  • Visual Studio 2017安装方法 下载Visual Studio 下载地址:https://docs.microsoft.com/en-us/visualstudio/productinfo/vs-roadmap 在归档版本中找到Visual Studio 2017并下载系统匹配的版本。 图1 下载Visual Studio 2017 安装并配置Visual Studio 双击下载的可执行文件进行安装。 图2 双击可执行文件 等待安装完成。 图3 安装Visual Studio 父主题: 附录
共100000条
提示

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