华为云用户手册

  • 超高I/O型aI7 概述 aI7型弹性云服务器搭载新一代可扩展处理器,配备大容量高性能NVMe SSD本地盘,提供高存储IOPS以及低读写时延。 使用须知 请参考使用须知。 适用场景 超高I/O型实例适用于高性能关系型数据库 NoSQL数据库(Cassandra、MongoDB等)以及ElasticSearch搜索等场景 规格 表5 aI7型弹性云服务器的规格 规格名称 vCPU 内存 (GiB) 最大带宽/基准带宽 (Gbps) 最大收发包能力 (万PPS) 网卡多队列数 网卡个数上限 辅助网卡个数上限 本地盘 (GiB) 虚拟化类型 ai7.2xlarge.8 8 64 4/2.5 100 8 8 64 1 × 1600GiB NVMe KVM ai7.4xlarge.8 16 128 8/5 200 16 8 128 2 × 1600GiB NVMe KVM ai7.8xlarge.8 32 256 15/8 300 16 8 256 4 × 1600GiB NVMe KVM ai7.12xlarge.8 48 384 22/12 400 16 8 256 6 × 1600GiB NVMe KVM ai7.16xlarge.8 64 512 28/16 550 24 12 256 8 × 1600GiB NVMe KVM ai7.24xlarge.8 96 768 40/25 800 24 12 256 12 × 1600GiB NVMe KVM
  • 超高I/O型I7 概述 I7型弹性云服务器搭载第三代英特尔® 至强® 可扩展处理器,配备大容量高性能NVMe SSD本地盘,提供高存储IOPS以及低读写时延。 使用须知 请参考使用须知。 适用场景 超高I/O型实例适用于高性能关系型数据库 NoSQL数据库(Cassandra、MongoDB等)以及ElasticSearch搜索等场景 规格 表4 I7型弹性云服务器的规格 规格名称 vCPU 内存 (GiB) 最大带宽/基准带宽 (Gbps) 最大收发包能力 (万PPS) 网卡多队列数 网卡个数上限 辅助网卡个数上限 本地盘 (GiB) 虚拟化类型 i7.2xlarge.4 8 32 10/3 120 4 4 64 1 × 1600GiB NVMe KVM i7.4xlarge.4 16 64 15/6 200 4 6 96 2 × 1600GiB NVMe KVM i7.8xlarge.4 32 128 25/12 400 8 8 192 4 × 1600GiB NVMe KVM i7.12xlarge.4 48 192 30/18 500 16 8 256 6 × 1600GiB NVMe KVM i7.16xlarge.4 64 256 35/24 600 16 8 256 8 × 1600GiB NVMe KVM i7.24xlarge.4 96 384 44/36 800 32 8 256 12 × 1600GiB NVMe KVM
  • 超高I/O型Ir7 概述 Ir7型弹性云服务器搭载第三代英特尔® 至强® 可扩展处理器,配备2块容量较小的高性能NVMe SSD本地盘,提供高存储IOPS以及低读写时延。 使用须知 请参考使用须知。 适用场景 适用于高性能关系型数据库。 NoSQL数据库(Cassandra、MongoDB等)。 ElasticSearch搜索等场景。 规格 表3 Ir7型弹性云服务器的规格 规格名称 vCPU 内存 (GiB) 最大带宽/基准带宽 (Gbps) 最大收发包能力 (万PPS) 网卡多队列数 网卡个数上限 本地盘 (GiB) 虚拟化类型 ir7.large.4 2 8 3/0.8 40 2 3 2 × 50 KVM ir7.xlarge.4 4 16 6/1.5 80 2 3 2 × 100 KVM ir7.2xlarge.4 8 32 15/3.1 150 4 4 2 × 200 KVM ir7.4xlarge.4 16 64 20/6.2 300 4 6 2 × 400 KVM ir7.8xlarge.4 32 128 30/12 400 8 8 2 × 800 KVM ir7.16xlarge.4 64 256 40/25 600 16 8 2 × 1600 KVM
  • 超高I/O型实例类型总览 超高I/O型弹性云服务器使用高性能NVMe SSD本地磁盘,提供高存储IOPS以及低读写时延,您可以通过管理控制台创建挂载有高性能NVMe SSD盘的弹性云服务器。 该类型弹性云服务器默认开启超线程,每个vCPU对应一个底层超线程HT(Hyper-Threading)。 在售:D7i、Ir3、I3、Ir7、I7、aI7、Ir7n、I7n 表1 超高I/O型实例特点 规格名称 计算 磁盘类型 网络 超高I/O型D7i CPU/内存配比:1:4 vCPU数量范围:8-96 处理器:第三代英特尔® 至强® 可扩展处理器 基频/睿频:3.0GHz/3.5GHz 支持开启/关闭超线程功能,详细内容请参见开启/关闭超线程 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 支持IPv6 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:800万PPS 最大内网带宽:44Gbps 超高I/O型Ir7 CPU/内存配比:1:4 vCPU数量范围:2-64 处理器:第三代英特尔® 至强® 可扩展处理器 基频/睿频:3.0GHz/3.5GHz 支持开启/关闭超线程功能,详细内容请参见开启/关闭超线程 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 支持IPv6 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:600万PPS 最大内网带宽:40Gbps 超高I/O型I7 CPU/内存配比:1:4 vCPU数量范围:8-96 处理器:第三代英特尔® 至强® 可扩展处理器 基频/睿频:3.0GHz/3.5GHz 支持开启/关闭超线程功能,详细内容请参见开启/关闭超线程 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 支持IPv6 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:800万PPS 最大内网带宽:40Gbps 超高I/O型aI7 CPU/内存配比:1:8 vCPU数量范围:8-96 基频/睿频:2.45GHz/3.5GHz 支持开启/关闭超线程功能,详细内容请参见开启/关闭超线程 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 支持IPv6 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:800万PPS 最大内网带宽:40Gbps 超高I/O型Ir7n CPU/内存配比:1:4 vCPU数量范围:2-64 处理器:第三代英特尔® 至强® 可扩展处理器 基频/睿频:2.6GHz/3.5GHz 支持开启/关闭超线程功能,详细内容请参见开启/关闭超线程 高IO 通用型SSD 超高IO 极速型SSD 支持IPv6 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:600万PPS 最大内网带宽:40Gbps 超高I/O型I7n CPU/内存配比:1:4 vCPU数量范围:8-96 处理器:第三代英特尔® 至强® 可扩展处理器 基频/睿频:2.6GHz/3.5GHz 支持开启/关闭超线程功能,详细内容请参见开启/关闭超线程 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 支持IPv6 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:800万PPS 最大内网带宽:40Gbps 超高I/O型Ir3 CPU/内存配比:1:4 vCPU数量范围:2-32 处理器:第二代英特尔® 至强® 可扩展处理器 基频/睿频:2.6GHz/3.5GHz 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:450万PPS 最大内网带宽:30Gbps 超高I/O型I3 CPU/内存配比:1:8 vCPU数量范围:8-64 处理器:英特尔® 至强® 可扩展处理器 基频/睿频:3.0GHz/3.4GHz 高IO 通用型SSD 超高IO 极速型SSD 通用型SSD V2 超高网络收发包能力 实例网络性能与计算规格对应,规格越高网络性能越强 最大网络收发包:500万PPS 最大内网带宽:25Gbps
  • 超高I/O型D7i 概述 D7i型弹性云服务器搭载第三代英特尔® 至强® 可扩展处理器,配备大容量高性能NVMe SSD本地盘,提供高存储IOPS以及低读写时延。 使用须知 请参考使用须知。 适用场景 适用于高性能关系型数据库。 NoSQL数据库(Cassandra、MongoDB等)。 ElasticSearch搜索等场景。 规格 表2 D7i型弹性云服务器的规格 规格名称 vCPU 内存 (GiB) 最大带宽/基准带宽 (Gbps) 最大收发包能力 (万PPS) 网卡多队列数 网卡个数上限 辅助网卡个数上限 本地盘 (GiB) 虚拟化类型 d7i.2xlarge.4 8 32 10/3 120 4 4 64 1 × 15360GiB NVMe KVM d7i.4xlarge.4 16 64 15/6 200 4 6 96 2 × 15360GiB NVMe KVM d7i.8xlarge.4 32 128 25/12 400 8 8 192 4 × 15360GiB NVMe KVM d7i.12xlarge.4 48 192 30/18 500 16 8 256 6 × 15360GiB NVMe KVM d7i.16xlarge.4 64 256 35/24 600 16 8 256 8 × 15360GiB NVMe KVM d7i.24xlarge.4 96 384 44/36 800 32 8 256 12 × 15360GiB NVMe KVM
  • 方案架构 PerfTest-JMeter测试工程,通过集成开源Apache-JMeter实现压力测试,具体工作原理如下: 用户通过性能测试服务测试资源,将自己租户下的CCE节点,纳管到性能测试服务,作为调试节点(一个)和执行节点(至少一个才能发起任务)使用。纳管后,性能测试服务会创建一个 VPC终端节点 ,用于上传测试数据到性能测试服务。性能测试服务通过CCE拉起常驻的调试负载,负载拉起一个容器(即性能测试服务容器),用于调试。 首次使用性能测试服务测试资源,需要用户对性能测试服务进行授权,允许性能测试服务操作CCE和VPC终端节点。 用户使用PerfTest-JMeter测试工程时,需要上传jmx脚本到性能测试服务。这些脚本会存储在性能测试服务的OBS中。性能测试服务拉起容器后,性能测试服务容器会通过OBS下载并执行用户的脚本。 用户在界面上删除jmx脚本时,性能测试服务的OBS中的脚本也会被删除。 用户执行任务时,通过CCE拉起临时的执行负载。负载根据任务规模拉起一个或多个性能测试服务容器,用于执行任务。当采用多个容器执行任务时,线程组中的线程数会平分给每个性能测试服务容器。 性能测试服务执行任务过程中,性能测试服务容器会通过VPC终端节点将测试的结果数据上传到性能测试服务,用于: 统计任务的并发数、时延、RPS、带宽、TP90等性能指标。 显示执行时产生的请求日志、返回日志。 任务结束时,性能测试服务容器会被销毁,只有执行记录会留在用户的执行机中。 性能测试服务容器集成了开源Apache-JMeter、性能测试服务的控制代码以及性能测试服务的部分JMeter增强能力(如多阶段压力配置、日志输出等)。 PerfTest-JMeter工程,默认集成Apache-JMeter 5.4引擎(当前版本),可以通过在性能测试服务测试资源上传自定义安装包,更改为Apache-JMeter 5.3或5.2版本。自定义安装包是从Apache官网下载的zip包。 如果希望PerfTest-JMeter工程能够支持部分第三方插件,可以在PerfTest-JMeter工程处以“第三方jar”的形式,将第三方插件上传。这等效于将jar包放置在JMeter根目录“\lib\ext”下。
  • 任务创建、调试及启动 返回性能测试服务控制台,在页面上方选择“区域”。 在左侧导航栏选择“总览”,进入“总览”页面。单击“热门模板”中的“一网通办系统场景”,一键创建一网通办系统场景压测工程。 一网通办系统场景完成创建后,会自动进入一网通办系统压测工程的“测试用例”详情页面。 图1 一网通办系统压测工程 选择对应的测试用例,修改相应的参数。例如,整点时间消费券免费领取场景,修改响应的请求信息,修改完成后单击“保存”。 图2 修改参数 单击“调试”,选择对应的测试资源组作为执行器后单击“启动”启动调试。如果调试结果报错,可根据日志信息,修改用例后重新调试。 在“测试任务”页签,单击“创建任务”。 输入测试任务名称,单击“添加用例”,选择需要添加的用例,单击“确定”。单击“保存”,测试任务创建完成。 图3 添加用例 在测试任务操作栏单击“启动”按钮。 图4 启动任务 选择资源组类型后,单击“启动”启动测试任务。
  • 测试资源准备 进入购买性能测试套餐页面。 设置以下信息。 表1 性能测试服务套餐参数说明 参数 说明 服务版本 根据需求选择专业版或者企业版。两者的区别请参见价格计算器。例如,选择“企业版”。 区域 选择“区域”。例如,选择“华北-北京四”。 不同的区域之间套餐包不互通,每个区域需分别购买。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 计费模式 “专业版”只支持“按需套餐包”。 “企业版”支持“按需套餐包”和“包周期套餐包”。 峰值并发 执行压测任务支持的最大并发用户数。例如,选择“5万”。 VUM额度 仅在“计费模式”为“按需套餐包”时,需要设置。 VUM指任务对资源的消耗数,表示每虚拟用户每分钟。计算公式为VUM=VU(虚拟并发用户数)*M(压测时长,单位为分钟)。 有效期 仅在“计费模式”为“按需套餐包”时,涉及该参数。 默认为“一年”。套餐包到期后,未使用的VUM会被清零。 包周期时长 仅在“计费模式”为“包周期套餐包”时,需要设置。 选择需要包周期的时长,可选择:1至9个月,或1年,也可自动续费。 单击“立即购买”,进入订单确认页面。 确认订单无误后,支付订单。 登录性能测试服务控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 (可选)首次使用时,请根据提示信息,授权性能测试服务创建私有资源组。 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,则需要先执行创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接执行创建资源组。 创建集群。 单击页面上方的“创建集群”,进入购买CCE集群页面。创建集群操作请参考购买CCE集群,设置集群参数。 集群管理规模选择与执行节点个数相关,请根据需要压测的并发用户数,创建对应规格的节点。例如,需要20个执行节点,那么创建集群时集群规模选择50节点即可满足业务需求。 CCE集群的网络模型建议选择“容器隧道网络”,容器网段和服务网段需要与被测对象保持一致。 单击“下一步:插件配置”,默认选择即可。 单击“下一步:规格确认”,确认集群配置信息无误后,勾选已阅读使用说明,单击“提交”等待集群创建,集群创建预计需要6-10分钟。 集群创建成功后,返回集群管理页面,单击“创建节点”,进入创建节点页面。创建节点操作请参考创建节点,设置节点参数。 节点规格至少为vCPU为4核,内存8GB。 操作系统需选择欧拉EulerOS。 创建的节点数量至少需要2台(1台调试节点、1台执行节点),具体数量由压测对象要求规格决定。例如,压测10万并发用户数,vCPU为4核,内存8GB的资源需要21个执行节点(1个调试节点,20个执行节点)。 当CCE集群节点与被测应用不在同一VPC网络时,建议CCE集群节点绑定弹性IP。可使用已有的弹性IP,如果没有弹性IP也可以选择自动创建。自动创建弹性IP时,计费方式推荐按流量计费,带宽设置尽可能选择较大值,否则可能影响压测效果。系统根据您的配置创建弹性IP,并自动为每个节点进行分配。当创建的弹性IP数量小于节点个数时,会将弹性IP随机绑定到节点上。 单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。节点创建成功后,返回性能测试服务控制台。 创建资源组。 在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 参照表2设置基本信息。 表2 创建私有资源组 参数 参数说明 资源组名称 新建私有资源组的名称,可自定义。 节点集群 在下拉框选择已创建的CCE集群。 调试节点 选择执行压测的管理机。 调试节点在资源组创建成功后不可修改。 执行节点 选择执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 单击“创建”。
  • 操作步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签,可以在页面左侧查看当前已创建的用例目录结构。可以通过以下两种方式创建用例: 在当前目录下创建用例:直接单击“创建用例”。 图1 在当前目录下创建用例 在指定目录下创建用例:将鼠标光标放置在指定目录上,单击,在下拉框中选择“创建用例”。 图2 在指定目录下创建用例 单击“保存”。
  • 文件型全局变量添加 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签中,单击“全局变量”。 单击“csv模板下载”或者“xlsx模板下载”获取所需的变量文件模板,按照模板填写相应的变量和值,填写请参考文件变量模板使用说明。 csv/xlsx格式文件模板第一行表头填写的是变量名,从第二行开始填写的是对应变量的值。 其中,每份文件大小、上传的文件个数上限与当前的套餐相对应,请参考性能测试服务价格计算器查看详情。 变量文件限制如下: 导入的文件格式:.csv(UTF-8无BOM格式)和.xlsx。 文件的名称长度上限:50字节(含后缀)。 文件大小限制: xlsx:专业版10M,企业版20M。 csv :专业版10M ,企业版默认80M。 在本地按照模板填写所需变量内容。 单击“文件变量导入”上传前一步骤准备好的变量文件。 变量名称:导入的文件名称。 变量类型:文件。 变量值:实际的变量名称,多个变量名称之间用“,”分隔。 变量读取模式: 顺序模式:顺序读取变量。 随机模式:随机读取变量。 变量共享模式: 用例模式:每个并发共享一个变量。 并发模式:每个并发单独复制一个同名变量进行使用,不同并发按顺序读取变量值,互不影响。 全局变量导入成功后,对变量进行处理。 单击“编辑”可以设置变量的读取顺序和变量共享模式。 选择不同的变量读取模式和变量共享模式时变量读取规则可参考变量读取规则。 单击“下载”,将全局变量文件下载到本地。 单击“删除”,删除导入的全局变量文件,如果全局变量文件被引用时,不可删除。 已导入的全局变量文件,如果本地做了修改,可单击“重新上传”进行更新。
  • 插入变量 添加请求信息时,在输入框内输入“$”,插入变量。 “变量类型”为“自定义变量”时,需要设置如下参数: 变量范围:选择变量范围。 变量名称:自定义变量名称。自定义变量名称为添加变量时为变量取的名称。 “变量类型”为“系统变量”时,需要选择函数名称: 身份证号:随机生成一个身份证号。 手机号:随机生成一个手机号。 区间随机数:根据用户输入区间,随机生成区间内的任一整数。 随机字符串:根据用户输入的位数(1-32),随机生成小写字母和数字混合的字符串。 时间戳:根据用户选择(秒(s)/毫秒(ms)),生成执行时当前时间戳(秒(s)对应10位,毫秒(ms)对应13位)。 时间格式化:根据指定格式输出当前时间,支持时间偏移(单位为秒)。 时间格式化格式说明如下: "yyyy":表示四位数的年份,例如2024年:2024 "yy":表示两位数的年份,例如2024年:24 "MM":表示两位数的月份,例如1月:01 "M":表示前不补零的月份,例如1月:1 "dd":表示两位数的日期,例如3日:03 "d":表示前不补零的日期,例如3日:3 "HH":表示24小时制的小时数,例如下午1点:13 "H":同HH "hh":表示12小时制的小时数,例如1点:01 "h":表示前不补零的24小时制小时数,例如1点:1 "mm":表示分钟数,例如4分:04 "m":表示前不补零的分钟数,例如4分:4 "ss":表示秒数,例如5秒:05 "s":表示前不补零的秒数,例如5秒:5 "SSS":表示毫秒数,例如98毫秒:098 UUID:随机生成一个32位的字符串。 “变量类型”为“加密函数”时,需要选择加密类型和变量插入的位置,加密类型如下: MD5:对val数据进行md5加密,返回加密后的数据字符串。 MD5-BASE64:对val数据进行MD5-BASE64编码,返回编码后的数据字符串。 SHA-1:对输入的数据进行SHA-1加密,返回加密后的数据字符串。 SHA-224:对输入的数据进行SHA-224加密,返回加密后的数据字符串。 SHA-256:对输入的数据进行SHA-256加密,返回加密后的数据字符串。 SHA-384:对输入的数据进行SHA-384加密,返回加密后的数据字符串。 SHA-512:对输入的数据进行SHA-512加密,返回加密后的数据字符串。 BASE64编码:对输入的数据进行BASE64编码,返回编码后的数据字符串。 BASE64解码:对输入的数据进行BASE64解码,返回解码后的数据字符串。 父主题: 实施步骤
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为LoginAndJoinConf。 server_url 否 String 服务器地址,为空使用华为云会议默认服务器地址。 中国站:meeting.huaweicloud.com 国际站:intl.meeting.huaweicloud.com port 否 String 服务器端口,为空使用华为云会议默认端口。 conf_id 是 String 会议ID。 enter_code 否 String 会议密码。 name 是 String 会议中的显示名称。 open_mic 否 String 是否开启麦克风,true开启,false关闭,不填默认关闭。 open_camera 否 String 是否开启摄像头,true开启,false关闭,不填默认关闭。 nonce 是 String 入会身份鉴权的nonce。 若希望以主持人身份入会,enter_code必须传入主持人密码。若希望以来宾身份入会,当会议要求来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不传。 nonce获取方式说明:首先调用服务器登录鉴权API“执行App ID鉴权”获取到token;然后调用服务器API“获取页面免登录跳转的nonce信息”获取nonce,详见FAQ。 nonce必须传入有效值,否则入会失败。nonce获取之后,只能使用一次。
  • 链接格式 1 cloudlink://welinksoftclient/h5page?page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345&name=Tom&open_mic=true&open_camera=false&nonce=Ey************************************pQ
  • 链接格式 cloudlink://welinksoftclient/h5page?page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345&name=Tom&open_mic=true&open_camera=false&nonce=Ey************************************pQ
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为LoginAndJoinConf。 server_url 否 String 服务器地址,为空使用华为云会议默认服务器地址。 port 否 String 服务器端口,为空使用华为云会议默认端口。 conf_id 是 String 会议ID。 enter_code 否 String 会议密码。 name 是 String 会议中的显示名称。 open_mic 否 String 是否开启麦克风,不填默认关闭。 open_camera 否 String 是否开启摄像头,不填默认关闭。 nonce 是 String 入会身份鉴权的nonce。
  • 代码示例 - (void)joinConfWithLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址; NSString *port = 服务器端口; NSString *confId = 会议ID; NSString *enter_code = 会议密码; NSString *name = 入会姓名; NSString *open_mic = 麦克风开关 ? @"true" : @"false"; NSString *open_camera = 摄像头开关 ? @"true" : @"false"; NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?page=LoginAndJoinConf&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=%@&open_mic=%@&open_camera=%@", server_url, port, confId, enter_code, name, open_mic, open_camera]; NSURL *joinConfUrl = [NSURL URLWithString:joinConfString]; [[UIApplication sharedApplication] openURL:joinConfUrl options:@{} completionHandler:nil]; } 上述代码示例仅作为逻辑示例,不能直接使用。
  • 代码示例 //匿名入会 - (void)joinConfWithoutLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址; NSString *port = 服务器端口; NSString *confId = 会议ID; NSString *enter_code = 会议enter_code; NSString *name = 入会姓名; NSString *open_mic = 麦克风开关 ? @"true" : @"false"; NSString *open_camera = 摄像头开关 ? @"true" : @"false"; NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?page=joinTmpConfByLink&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=%@&open_mic=%@&open_camera=%@", server_url, port, confId, enter_code, name, open_mic, open_camera]; NSURL *joinConfUrl = [NSURL URLWithString:joinConfString]; [[NSWorkspace sharedWorkspace] openURL:joinConfUrl]; } 上述代码示例仅作为逻辑示例,不能直接使用。
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为LoginAndJoinConf。 server_url 否 String 服务器地址,为空使用华为云会议默认服务器地址 中国站:meeting.huaweicloud.com 国际站:intl.meeting.huaweicloud.com port 否 String 服务器端口,为空使用华为云会议默认端口。 conf_id 是 String 会议ID。 enter_code 否 String 会议密码。 name 是 String 会议中的显示名称。 open_mic 否 String 是否开启麦克风,true开启,false关闭,不填默认关闭。 open_camera 否 String 是否开启摄像头,true开启,false关闭,不填默认关闭。 nonce 是 String 入会身份鉴权的nonce。 若希望以主持人身份入会,enter_code必须传入主持人密码。若希望以来宾身份入会,当会议要求来宾密码时,enter_code必须传入来宾密码,会议不要求来宾密码时,可以不传。 nonce获取方式说明:首先调用服务器登录鉴权API“执行App ID鉴权”获取到token;然后调用服务器API“获取页面免登录跳转的nonce信息”获取nonce,详见FAQ。 nonce必须传入有效值,否则入会失败。nonce获取之后,只能使用一次。
  • 链接格式 1 cloudlink://welinksoftclient/h5page?page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345&name=Tom&open_mic=true&open_camera=false&nonce=Ey************************************pQ
  • 终端Scheme应用集成概述 在已经安装华为云会议App的前提下,第三方Web应用或者第三方App,按照华为云会议App定义的URL Protocol,可以: 启动华为云会议App后进入待登录界面 启动华为云会议App并完成登录后进入主界面 以华为云会议App当前登录的账号(或者匿名)加入会议 启动华为云会议App完成登录后加入会议 图1 Web应用上拉起Windows版华为云会议App并加入会议
  • 代码示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Uri.Builder builder = new Uri.Builder().scheme("cloudlink") .authority("welinksoftclient") .path("h5page") .appendQueryParameter("page", "LoginAndJoinConf") .appendQueryParameter("server_url", param.serverAddress) .appendQueryParameter("port", param.portString) .appendQueryParameter("conf_id", param.confId) .appendQueryParameter("enter_code", param.enterCode) .appendQueryParameter("name", param.name) .appendQueryParameter("open_mic", String.valueOf(param.openMic)) .appendQueryParameter("open_camera", String.valueOf(param.openCamera)) .appendQueryParameter("nonce", getNonce()); Intent intent = new Intent(); intent.setData(Uri.parse(url)); startActivity(intent);
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为launch。 nonce 是 String 入会身份鉴权的nonce。 nonce获取方式说明:首先调用服务器登录鉴权API“执行App ID鉴权”获取到token;然后调用服务器API“获取页面免登录跳转的nonce信息”获取nonce,详见FAQ。 nonce必须传入有效值,否则登录失败。nonce获取之后,只能使用一次。
  • 代码示例 - (void)joinConfWithoutLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址; NSString *port = 服务器端口; NSString *confId = 会议ID; NSString *enter_code = 会议密码; NSString *name = 入会姓名; NSString *open_mic = 麦克风开关 ? @"true" : @"false"; NSString *open_camera = 摄像头开关 ? @"true" : @"false"; NSString * nonceStr = 服务器接口获取的nonce; NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?page=joinConfByLink&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=%@&open_mic=%@&open_camera=%@&nonce=%@", server_url, port, confId, enter_code, name, open_mic, open_camera, nonce]; NSURL *joinConfUrl = [NSURL URLWithString:joinConfString]; [[UIApplication sharedApplication] openURL:joinConfUrl options:@{} completionHandler:nil]; } 上述代码示例仅作为逻辑示例,不能直接使用。
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为launch。 nonce 是 String 入会身份鉴权的nonce nonce获取方式说明:首先调用服务器登录鉴权API“执行App ID鉴权”获取到token;然后调用服务器API“获取页面免登录跳转的nonce信息”获取nonce,详见FAQ。 nonce必须传入有效值,否则登录失败。nonce获取之后,只能使用一次。
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为launch。 nonce 是 String 入会身份鉴权的nonce。 nonce获取方式说明:首先调用服务器登录鉴权API“执行App ID鉴权”获取到token;然后调用服务器API“获取页面免登录跳转的nonce信息”获取nonce,详见FAQ。 nonce必须传入有效值,否则登录失败。nonce获取之后,只能使用一次。
  • 参数描述 参数 是否必须 类型 描述 page 是 String 用于定义scheme功能,取值为launch。 nonce 是 String 入会身份鉴权的nonce。 nonce获取方式说明:首先调用服务器登录鉴权API“执行App ID鉴权”获取到token;然后调用服务器API“获取页面免登录跳转的nonce信息”获取nonce,详见FAQ。 nonce必须传入有效值,否则登录失败。nonce获取之后,只能使用一次。
  • 代码示例 - (void)handleEventWithNonce:(NSString *)nonce { NSString * schemeStr = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?page=launch&nonce=%@", nonce]; NSLog(@"schemeStr:%@", schemeStr); NSURL *schemUrl = [[NSURL alloc] initWithString:[schemeStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]]; [[UIApplication sharedApplication] openURL:schemUrl options:@{} completionHandler:nil]; } 上述代码示例仅作为逻辑示例,不能直接使用。
  • 代码示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Uri.Builder builder = new Uri.Builder() .scheme("cloudlink") .authority("welinksoftclient") .path("h5page") .appendQueryParameter("page","joinConfByLink") .appendQueryParameter("server_url",serverAddress) .appendQueryParameter("port",portString) .appendQueryParameter("conf_id",confId) .appendQueryParameter("enter_code",enterCode) .appendQueryParameter("name",name) .appendQueryParameter("open_mic",String.valueOf(openMic)) .appendQueryParameter("open_camera",String.valueOf(openCamera)); Intent intent = new Intent(); intent.setData(Uri.parse(url)); startActivity(intent);
  • 代码示例 //匿名入会 - (void)joinConfWithoutLogin:(id)sender { //这里以从界面TextField上获取信息 NSString *server_url = 服务器地址; NSString *port = 服务器端口; NSString *confId = 会议ID; NSString *enter_code = 会议enter_code; NSString *name = 入会姓名; NSString *open_mic = 麦克风开关 ? @"true" : @"false"; NSString *open_camera = 摄像头开关 ? @"true" : @"false"; NSString *joinConfString = [NSString stringWithFormat:@"cloudlink://welinksoftclient/h5page?page=joinTmpConfByLink&server_url=%@&port=%@&conf_id=%@&enter_code=%@&name=%@&open_mic=%@&open_camera=%@", server_url, port, confId, enter_code, name, open_mic, open_camera]; NSURL *joinConfUrl = [NSURL URLWithString:joinConfString]; [[NSWorkspace sharedWorkspace] openURL:joinConfUrl]; } 上述代码示例仅作为逻辑示例,不能直接使用。
  • 链接格式 1 cloudlink://welinksoftclient/h5page?page=LoginAndJoinConf&server_url=meeting.huaweicloud.com&port=8443&conf_id=12345&enter_code=12345&name=Tom&open_mic=true&open_camera=false&nonce=Ey************************************pQ
共100000条