华为云用户手册

  • 前提条件 绑定弹性公网IP并设置安全组规则。 对目标实例绑定弹性公网IP。 关于如何绑定弹性公网IP,请参见绑定弹性公网IP。 获取弹性云服务器的IP地址。 设置安全组规则。 将1.b中获取的IP地址及目标实例的端口加入安全组允许访问的范围中。 关于如何设置安全组规则,请参见设置安全组规则。 使用ping命令连通1.a中绑定的弹性公网IP,确保弹性云服务器可以访问该弹性公网IP。 使用客户端连接实例。 您可以在Linux操作系统和Windows操作系统中,使用数据库客户端连接RDS实例。 在Linux操作系统中,您需要在您的设备上安装MariaDB客户端。建议您下载的MariaDB客户端版本高于已创建的RDS实例中数据库版本。 在Windows操作系统中,您可以使用任何通用的数据库客户端连接到RDS实例且连接方法类似。
  • 前提条件 登录弹性云服务器。 创建并登录弹性云服务器,请参见《弹性云服务器快速入门》中“购买弹性云服务器”和“登录弹性云服务器”。 通过弹性云服务器连接云数据库RDS实例,需要具备以下条件。 该弹性云服务器与目标实例必须处于同一VPC内。 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 如果目标实例所属安全组为默认安全组, 则无需设置安全组规则。 如果目标实例所属安全组非默认安全组,请查看安全组规则是否允许该弹性云服务器访问。 如果安全组规则允许弹性云服务器访问,即可连接实例。 如果安全组规则不允许弹性云服务器访问,则需添加安全组规则。该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 使用客户端连接实例。 在Linux操作系统中,您需要在可访问云数据库RDS的设备上安装MariaDB客户端。建议您下载的MariaDB客户端版本高于已创建的RDS实例中数据库版本。
  • 前提条件 绑定弹性公网IP并设置安全组规则。 对目标实例绑定弹性公网IP。 获取弹性云服务器的IP地址。 设置安全组规则。 将1.b中获取的IP地址及目标实例的端口加入安全组允许访问的范围中。 使用ping命令连通1.a中绑定的弹性公网IP,确保弹性云服务器可以访问该弹性公网IP。 使用客户端连接实例。 在Linux操作系统中,您需要在您的设备上安装MariaDB客户端。建议您下载的MariaDB客户端版本高于已创建的RDS实例中数据库版本。
  • 步骤2:测试连通性并安装MySQL客户端 登录ECS实例,请参见《弹性云服务器用户指南》中“SSH密码方式登录”。 在RDS“实例管理”页面,单击实例名称进入“基本信息”页面。 选择“连接管理”,在“连接信息”模块获取实例的内网地址和数据库端口。 图4 连接信息 在ECS上测试是否可以正常连接到RDS for MySQL实例内网地址的端口。 telnet 192.168.6.144 3306 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参考设置安全组规则。 图6 RDS的安全组 在浏览器下载Linux系统的MySQL客户端安装包。 找到对应版本链接,以mysql-community-client-5.7.38-1.el6.x86_64.rpm为例,下载安装包。建议您下载的MySQL客户端版本高于已创建的RDS实例中数据库版本。 图7 下载 将安装包上传到ECS。 您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将安装包上传至ECS。 在ECS上执行以下命令安装MySQL客户端。 rpm -ivh --nodeps mysql-community-client-5.7.38-1.el6.x86_64.rpm 如果安装过程中报conflicts,可增加replacefiles参数重新安装,如下: rpm -ivh --replacefiles mysql-community-client-5.7.38-1.el6.x86_64.rpm 如果安装过程中提示需要安装依赖包,可增加nodeps参数重新安装,如下: rpm -ivh --nodeps mysql-community-client-5.7.38-1.el6.x86_64.rpm
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 有Windows弹性云服务器,参考通过内网连接RDS for MySQL实例(Windows方式)。 无弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载MySQL客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与RDS for MySQL实例相同的区域、VPC和安全组,便于RDS for MySQL和ECS网络互通。 购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for MySQL实例基本信息页,查看RDS实例的区域和VPC。 图3 MySQL基本信息 确认ECS实例与RDS for MySQL实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装MySQL客户端。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 有Windows弹性云服务器,参考通过公网连接RDS for MySQL实例(Windows方式)。 无弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载MySQL客户端,因此需要为ECS绑定弹性公网IP(EIP)。 购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for MySQL实例基本信息页,查看RDS实例的区域和VPC。 图3 MySQL基本信息
  • 步骤2:测试连通性并安装MySQL客户端 登录ECS实例,请参见《弹性云服务器用户指南》中“SSH密码方式登录”。 在RDS“实例管理”页面,单击实例名称进入“基本信息”页面。 选择“连接管理”,在“连接信息”模块获取实例的公网地址和数据库端口。 图4 连接信息 如果没有绑定公网地址,请参见绑定弹性公网IP。 在ECS上测试是否可以正常连接到RDS for MySQL实例公网地址的端口。 telnet 公网地址 3306 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的公网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参考设置安全组规则。 图6 RDS的安全组 在浏览器下载Linux系统的MySQL客户端安装包。 找到对应版本链接,以mysql-community-client-5.7.38-1.el6.x86_64.rpm为例,下载安装包。建议您下载的MySQL客户端版本高于已创建的RDS实例中数据库版本。 图7 下载 将安装包上传到ECS。 您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将安装包上传至ECS。 在ECS上执行以下命令安装MySQL客户端。 rpm -ivh --nodeps mysql-community-client-5.7.38-1.el6.x86_64.rpm 如果安装过程中报conflicts,可增加replacefiles参数重新安装,如下: rpm -ivh --replacefiles mysql-community-client-5.7.38-1.el6.x86_64.rpm 如果安装过程中提示需要安装依赖包,可增加nodeps参数重新安装,如下: rpm -ivh --nodeps mysql-community-client-5.7.38-1.el6.x86_64.rpm
  • CCE与CCI两者的配合 通过安装Virtual-Kubelet插件,可以在短时高负载场景时,将部署在CCE上的无状态工作负载(Deployment)、有状态工作负载(StatefulSet)、普通任务(Job)三种资源类型的容器实例(Pod),弹性创建到华为云云容器实例CCI服务上,以减少集群扩容带来的消耗。 具体功能如下: 支持容器实例实现秒级弹性伸缩:在集群资源不足时,无需新增节点,virtual-kubelet插件将自动为您在云容器实例CCI侧创建容器实例,减少运维成本。 无缝对接华为云容器镜像服务SWR,支持使用公用镜像和私有镜像。 支持CCI容器实例的事件同步、监控、日志、exec、查看状态等操作。 支持查看虚拟弹性节点的节点容量信息。 支持CCE和CCI两侧实例的service网络互通。 详情请参见华为云CCE弹性伸缩至CCI。
  • 创建方式 表2 创建方式不同 云容器引擎CCE 云容器实例CCI CCE是基于Kubernetes的托管式容器管理服务,可以提供原生Kubernetes体验,可以一键创建原生Kubernetes集群,与社区能力基本一致。 使用CCE,您需要创建集群和节点,简单、低成本、高可用,无需管理Master节点。 CCI提供 Serverless Container引擎,在华为云上部署容器时,您不需要购买和管理ECS,可以直接在华为云上运行容器和Pod,为您省去底层ECS的运维和管理工作。 使用CCI,您无需创建集群,无需创建和管理Master节点及Work节点,可直接启动应用程序。
  • 基本介绍 表1 CCE和CCI基本介绍 云容器引擎CCE 云容器实例CCI 云容器引擎(Cloud Container Engine,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器,提供了Kubernetes集群管理、容器应用全生命周期管理、应用服务网格、Helm应用模板、插件管理、应用调度、监控与运维等容器全栈能力,为您提供一站式容器平台服务。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。 详细介绍请查看什么是云容器引擎。 云容器实例(Cloud Container Instance, CCI)服务提供Serverless Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行容器。通过CCI您只需要管理运行在Kubernetes上的容器化业务,无需管理集群和服务器即可在CCI上快速创建和运行容器负载,使容器应用零运维,使企业聚焦业务核心,为企业提供了Serverless化全新一代的体验和选择。 而Serverless是一种架构理念,是指不用创建和管理服务器、不用担心服务器的运行状态(服务器是否在工作等),只需动态申请应用需要的资源,把服务器留给专门的维护人员管理和维护,进而专注于应用开发,提升应用开发效率、节约企业IT成本。传统上使用Kubernetes运行容器,首先需要创建运行容器的Kubernetes服务器集群,然后再创建容器负载。 详细介绍请查看什么是云容器实例。
  • CCI服务的开源第三方中包含的公网地址声明是什么? CCI服务提供 Serverless Container(无服务器容器)引擎,让用户无需创建和管理服务器集群即可直接运行容器。在CCI服务组件开源依赖中,包含三方开源依赖k8s.io/kubernetes、go.etcd.io/etcd,其中涉及"http://metadata.google.internal."、"https://www.googleapis.com"、"https://storage.googleapis.com"等域名的公网地址均为开源仓内自带的公网地址,CCI服务不涉及与此类公网地址的连接,也不会与此类公网地址进行任何数据交换。 k8s.io/kubernetes开源社区链接:https://github.com/kubernetes/kubernetes go.etcd.io/etcd开源社区链接:https://github.com/etcd-io/etcd 父主题: 产品咨询类
  • 企业SSO登录 当企业拥有自己的鉴权系统,并想用自己的鉴权系统登录华为云会议,可以使用企业SSO登录,配置后企业成员就可以使用企业内部统一鉴权登录华为云会议客户端。 企业SSO登录的配置操作详情请参考:如何配置企业SSO登录? 打开华为云会议桌面端。 单击“SSO”打开“SSO登录”界面。 输入企业域名,或单击“我不知道企业域名”后输入企业邮箱。 单击“登录”,将在浏览器中跳转至鉴权页面。 图1 企业SSO登录 输入账号和密码,企业鉴权通过后页面跳转至华为云会议管理平台,华为云会议管理平台将拉起华为云会议桌面端。 拉起成功后,进入桌面端首页。 图2 进入桌面端首页 父主题: 桌面端
  • 会控操作 完成配对并入会后,可在移动端的控制器对硬终端进行静音、允许共享等会控操作,如表2所示。 表2 硬终端控制器会控操作说明 会控操作 操作说明 静音 单击“静音”,可开启或关闭麦克风。 共享 单击“共享”,可获取共享码及投屏操作引导。 与会者 单击“与会者”,可查看与会者列表。 邀请 单击“邀请”打开会议信息弹窗,可以获取会议二维码、会议号和密码邀请他人入会。 离开 单击“离开”,主持人可选择结束或离开会议,与会者可离开会议。 主持人控制 单击“主持人控制”打开弹窗,可进行以下操作。 单击“允许解除静音”右侧的按钮可开启或关闭功能。开启后,当主持人设置了全场静音,与会者可打开自己的麦克风。 单击“允许开启视频”右侧的按钮可开启或关闭功能。开启后,与会者可打开自己的摄像头。 单击“允许共享”右侧的按钮可开启或关闭功能。开启后,与会者可发起共享。 单击“全场静音”将关闭所有与会者的麦克风。 单击“取消全场静音”将打开所有与会者的麦克风。 与会者其他操作 与会者从主持人处获取主持人密码后,当会中没有主持人,单击“申请主持人”可申请成为主持人。 图5 硬终端控制器会控操作(主持人) 图6 硬终端控制器会控操作(与会者)
  • 会前操作 完成配对后,可在移动端的控制器对硬终端进行加入会议、发起会议等会前操作,如表1所示。 表1 硬终端控制器会前操作说明 会前操作 操作说明 加入会议 已有日程:在控制器找到对应的会议,单击“加入”。 无日程:从主持人或其他与会者处获取会议号和密码。单击“加入会议”,输入会议号和密码后可入会。 发起会议 单击“发起会议”可创建会议。 共享投屏 单击“共享投屏”,可获取共享码及投屏操作引导。 图4 硬终端控制器会前操作
  • 9.0.3版本 【新增功能】 表1 9.0.3版本新增功能 场景 特性 描述 参考文档 湖仓一体 支持可读写外表 支持可读写外表,同一张外表可读可写。 - 外表查询性能提升 支持in/not in等谓词下推,增强分区剪枝能力。 - 支持复杂类型map/struct/array,支持bytea/blob类型。 支持复杂类型map/struct/array,支持bytea/blob类型。 - 外表导出支持并行 外表导出支持并行(需打开enable_insert_ft_dop,默认关闭),并行导出会消耗更多的CPU和内存资源。 enable_insert_ft_dop 支持insert overwrite 支持全表和单分区的insert overwrite。 INSERT 支持读取HiveMetaStore统计信息 External Schema表支持读取HiveMetaStore统计信息。 - 存算分离 异步读优化 优化异步读的效果。 - 存算分离表数据导入支持并行 OBS存算分离表数据导入支持并行(需打开enable_insert_dop,默认关闭),并行导出会消耗更多的CPU和内存资源。 enable_insert_dop OBS存算分离表支持insert overwrite OBS存算分离表支持insert overwrite INSERT 本地disk cache支持冷热设置 本地disk cache支持冷热设置,不同分区可配置不同的缓存策略。 - 引擎增强 列存支持jsonb/json类型 列存支持jsonb/json类型。 -
  • 9.0.2版本 【新增功能】 表2 9.0.2版本新增功能 场景 特性 描述 参考文档 湖仓一体 一键湖仓 通过create external schema直接对接HiveMetaStore元数据,避免复杂的create foreign table操作。 跨集群访问HiveMetaStore 外表analyze支持并行 通过enable_parallel_analyze参数控制,默认打开,显著提升analyze统计信息收集的速度。 注:外表不具备auto analyze能力,建议导数之后手动做analyze收集统计信息。 enable_parallel_analyze 外表支持parquet/orc格式读写 支持覆盖写、追加写,支持多级分区读写。 CREATE FOREIGN TABLE (SQL on OBS or Hadoop) disk cache加速外表读 外表支持使用本地disk cache进行读加速。 - 外表支持datamasking,支持行级访问控制 外表支持datamasking,支持行级访问控制 - 存算分离 计算、存储分离 列存表通过指定COLVERSION=3.0创建为OBS存算分离表,用户数据存储在OBS存储,按需收费。 CREATE TABLE OBS存算分离表数据支持异步读、异步写 OBS存算分离表数据支持异步读、异步写。 - OBS存算分离表支持并行analyze OBS存算分离表支持并行analyze,通过GUC参数enable_parallel_analyze控制,默认打开。 enable_parallel_analyze 备份恢复 OBS存算分离表只支持全量备份恢复。 - 支持弹性VW 弹性VW(Virtual Warehouse,逻辑集群)支持读写加速,弹性VW启动固定耗时12min,与系统当前的节点规模、对象数、数据量无关,可通过增加弹性VW提升系统的读写能力、并发能力、资源隔离能力。 定时增删DWS 3.0逻辑集群 支持弹性扩容和经典扩容 弹性扩容不会对OBS上的数据进行重分布,经典扩容会重分布所有数据,系统会根据table_buckets/总dn数的值是否超出[min_table_buckets_per_dn, max_table_buckets_per_dn]区间,自动决定采用何种扩容方式。 扩容对系统的影响 新增OBS监控视图 新增OBS监控视图PGXC_OBS_IO_SCHEDULER_PERIODIC_STATS。 PGXC_OBS_IO_SCHEDULER_PERIODIC_STATS 新增磁盘缓存视图 新增磁盘缓存视图PGXC_DISK_CACHE_STATS、PGXC_DISK_CACHE_ALL_STATS。 PGXC_DISK_CACHE_STATS PGXC_DISK_CACHE_ALL_STATS 残留文件清理 新增残留文件检测、清理函数pgxc_scan_residualfiles、pgxc_rm_scan_residualfiles_archive pgxc_scan_residualfiles() pgxc_rm_scan_residualfiles_archive() 性能优化 优化sort内存排序性能 优化sort内存排序性能。 - 【行为变更】
  • 代码示例 如下示例仅供参考,最新代码请前往获取SDK章节获取并运行。 # -*- coding: utf-8 -*- from huaweicloud_sis.client.flash_lasr_client import FlashLasrClient from huaweicloud_sis.bean.flash_lasr_request import FlashLasrRequest from huaweicloud_sis.exception.exceptions import ClientException from huaweicloud_sis.exception.exceptions import ServerException from huaweicloud_sis.bean.sis_config import SisConfig import json import os # 鉴权参数 # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SIS_AK/HUAWEICLOUD_SIS_SK ak = os.getenv("HUAWEICLOUD_SIS_AK") # 从环境变量获取ak 参考https://support.huaweicloud.com/sdkreference-sis/sis_05_0003.html assert ak is not None, "Please add ak in your develop environment" sk = os.getenv("HUAWEICLOUD_SIS_SK") # 从环境变量获取sk 参考https://support.huaweicloud.com/sdkreference-sis/sis_05_0003.html assert sk is not None, "Please add sk in your develop environment" project_id = "" # project id 同region一一对应,参考https://support.huaweicloud.com/api-sis/sis_03_0008.html region = '' # region,如cn-north-4 obs_bucket_name = '' # obs桶名 obs_object_key = '' # obs对象的key audio_format = '' # 文件格式,如wav等, 支持格式详见api文档 property = '' # 属性字符串,language_sampleRate_domain, 如chinese_8k_common, 详见api文档 def flash_lasr_example(): """ 录音文件极速版示例 """ # step1 初始化客户端 config = SisConfig() config.set_connect_timeout(10) # 设置连接超时 config.set_read_timeout(10) # 设置读取超时 # 设置代理,使用代理前一定要确保代理可用。 代理格式可为[host, port] 或 [host, port, username, password] # config.set_proxy(proxy) client = FlashLasrClient(ak, sk, region, project_id, sis_config=config) # step2 构造请求 asr_request = FlashLasrRequest() # 以下参数必选 # 设置存放音频的桶名,必选 asr_request.set_obs_bucket_name(obs_bucket_name) # 设置桶内音频对象名,必选 asr_request.set_obs_object_key(obs_object_key) # 设置格式,必选 asr_request.set_audio_format(audio_format) # 设置属性,必选 asr_request.set_property(property) # 以下参数可选 # 设置是否添加标点,yes or no,默认no asr_request.set_add_punc('yes') # 设置是否将语音中数字转写为阿拉伯数字,yes or no,默认yes asr_request.set_digit_norm('yes') # 设置是否添加热词表id,没有则不填 # asr_request.set_vocabulary_id(None) # 设置是否需要word_info,yes or no, 默认no asr_request.set_need_word_info('no') # 设置是否只识别收个声道的音频数据,默认no asr_request.set_first_channel_only('no') # step3 发送请求,返回结果,返回结果为json格式 result = client.get_flash_lasr_result(asr_request) # use enterprise_project_Id # headers = {'Enterprise-Project-Id': 'your enterprise project id', 'Content-Type': 'application/json'} # result = client.get_flash_lasr_result(asr_request, headers) print(json.dumps(result, indent=2, ensure_ascii=False)) if __name__ == '__main__': try: flash_lasr_example() except ClientException as e: print(e) except ServerException as e: print(e)
  • 初始化Client 初始化FlashLasrClient详见表 FlashLasrClient初始化参数。 表1 FlashLasrClient初始化参数 参数名称 是否必选 参数类型 描述 ak 是 String 用户的ak,可参考AK/SK认证。 sk 是 String 用户的sk,可参考AK/SK认证。 region 是 String 区域,如cn-north-4,参考终端节点。 project_id 是 String 项目ID,同region一一对应,参考获取项目ID。 service_endpoint 否 String 终端节点,一般使用默认即可。 sis_config 否 Object 详见表2。 表2 SisConfig 参数名称 是否必选 参数类型 描述 connect_timeout 否 Integer 连接超时,默认10,单位s。 read_timeout 否 Integer 读取超时,默认10,单位s。 proxy 否 List [host, port] 或 [host, port, username, password]。
  • 请求参数 请求类为FlashLasrRequest,详见表3。 表3 FlashLasrRequest 参数 是否必选 参数类型 描述 audio_format 是 String 支持语音的格式,请参考表 audio_format取值范围。 property 是 String 所使用的模型特征串,通常是 “语种_采样率_领域”的形式,采样率需要与音频采样率保持一致,取值范围请参考表 property取值范围。 add_punc 否 String 表示是否在识别结果中添加标点,取值为“yes”和“no”,默认为“no”。 digit_norm 否 String 表示是否将语音中的数字识别为阿拉伯数字,取值为“yes” 和 “no”,默认为“yes”。 vocabulary_id 否 String 热词表id,不使用则不填写。 创建热词表信息请参考创建热词表。 need_word_info 否 String 表示是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”。 first_channel_only 否 String 表示是否在识别中只识别首个声道的音频数据,取值为“yes”和“no”,默认为“no”。 obs_bucket_name 否 String 表示在OBS对象桶名,使用前请先授权,操作方法请参见配置OBS访问权限。obs_bucket_name长度大于等于3个字符,小于64个字符,不需要进行urlencode编码,如果包含中文,直接输入中文即可。 示例 obs url为https://test.obs.cn-north-4.myhuaweicloud.com/data/0601/test.wav 则obs_bucket_name=test,obs_bucket_key=data/0601/test.wav obs_object_key 否 String 表示OBS对象桶中的对象的键值,长度小于1024个字符,不需要进行urlencode编码,如果包含中文,直接输入中文即可。 示例 obs url为https://test.obs.cn-north-4.myhuaweicloud.com/data/0601/test.wav 则obs_bucket_name=test,obs_bucket_key=data/0601/test.wav 表4 audio_format取值范围 audio_format取值 描述 wav wav格式音频 mp3 mp3格式音频 m4a m4a格式音频 aac aac格式音频 opus ops格式音频。 表5 property取值范围 property取值 描述 chinese_8k_common 支持采样率为8k的中文普通话语音识别。 chinese_16k_conversation 支持采样率为16k的会议场景的中文普通话语音识别。
  • AK/SK认证 使用服务API需要进行认证,目前SDK仅支持AK/SK认证方式。 使用AK/SK方式,需要用户提供AK和SK。 注册并登录华为云管理控制台。 在控制台中,鼠标移动至右上角的用户名处,在下拉列表中单击“我的凭证”。 单击“访问秘钥”页签,在页签中,单击“新增访问秘钥”。 在“身份验证”对话框中,输入当前用户的登录密码,通过邮箱或者手机进行验证,输入对应的验证码。 单击“确定”,下载认证账号的AK/SK,请妥善保管AK/SK信息。
  • 代码示例 如下示例仅供参考,最新代码请前往获取SDK章节获取并运行。 # -*- coding: utf-8 -*- from huaweicloud_sis.client.asr_client import AsrCustomizationClient from huaweicloud_sis.bean.asr_request import AsrCustomShortRequest from huaweicloud_sis.exception.exceptions import ClientException from huaweicloud_sis.exception.exceptions import ServerException from huaweicloud_sis.utils import io_utils from huaweicloud_sis.bean.sis_config import SisConfig import json import os # 鉴权参数 # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SIS_AK/HUAWEICLOUD_SIS_SK。 ak = os.getenv("HUAWEICLOUD_SIS_AK") # 从环境变量获取ak 参考https://support.huaweicloud.com/sdkreference-sis/sis_05_0003.html assert ak is not None, "Please add ak in your develop environment" sk = os.getenv("HUAWEICLOUD_SIS_SK") # 从环境变量获取sk 参考https://support.huaweicloud.com/sdkreference-sis/sis_05_0003.html assert sk is not None, "Please add sk in your develop environment" project_id = "" # project id 同region一一对应,参考https://support.huaweicloud.com/api-sis/sis_03_0008.html region = '' # region,如cn-north-4 """ todo 请正确填写音频格式和模型属性字符串 1. 音频格式一定要相匹配。 例如wav音频,格式是wav。具体参考api文档。 例如音频是pcm格式,并且采样率为8k,则格式填写pcm8k16bit。 如果返回audio_format is invalid 说明该文件格式不支持。具体支持哪些音频格式,需要参考一些api文档。 2. 音频采样率要与属性字符串的采样率要匹配。 例如格式选择pcm16k16bit,属性字符串却选择chinese_8k_common, 则会返回'audio_format' is not match model 例如wav本身是16k采样率,属性选择chinese_8k_common, 同样会返回'audio_format' is not match model """ # 一句话识别参数,以音频文件的base64编码传入,1min以内音频 path = '' # 文件位置, 需要具体到文件,如D:/test.wav path_audio_format = '' # 音频格式,如wav等,详见api文档 path_property = 'chinese_16k_general' # language_sampleRate_domain, 如chinese_16k_general,详见api文档 def sasr_example(): """ 一句话识别示例 """ # step1 初始化客户端 config = SisConfig() config.set_connect_timeout(10) # 设置连接超时 config.set_read_timeout(10) # 设置读取超时 # 设置代理,使用代理前一定要确保代理可用。 代理格式可为[host, port] 或 [host, port, username, password] # config.set_proxy(proxy) asr_client = AsrCustomizationClient(ak, sk, region, project_id, sis_config=config) # step2 构造请求 data = io_utils.encode_file(path) asr_request = AsrCustomShortRequest(path_audio_format, path_property, data) # 所有参数均可不设置,使用默认值 # 设置是否添加标点,yes or no,默认no asr_request.set_add_punc('yes') # 设置是否将语音中数字转写为阿拉伯数字,yes or no,默认yes asr_request.set_digit_norm('yes') # 设置是否添加热词表id,没有则不填 # asr_request.set_vocabulary_id(None) # 设置是否需要word_info,yes or no, 默认no asr_request.set_need_word_info('no') # step3 发送请求,返回结果,返回结果为json格式 result = asr_client.get_short_response(asr_request) # use enterprise_project_Id # headers = {'Enterprise-Project-Id': 'your enterprise project id', 'Content-Type': 'application/json'} # result = asr_client.get_short_response(asr_request, headers) print(json.dumps(result, indent=2, ensure_ascii=False)) if __name__ == '__main__': try: sasr_example() except ClientException as e: print(e) except ServerException as e: print(e)
  • 请求参数 请求类为AsrCustomShortRequest,详见表3。 表3 AsrCustomShortRequest 参数名称 是否必选 参数类型 描述 data 是 String 本地音频文件经过Base64编码后的字符串,音频文件时长不超过1min。 audio_format 是 String 音频格式,具体信息请参见《API参考》中一句话识别章节。 model_property 是 String 属性字符串,语言_采样率_模型,如chinese_16k_general。具体信息请参见《API参考》中一句话识别章节。 add_punc 否 String 表示是否在识别结果中添加标点,取值为yes 、 no,默认no。 digit_norm 否 String 表示是否将语音中的数字识别为阿拉伯数字,取值为yes 、 no,默认为yes。 vocabulary_id 否 String 热词表id,不使用则不填写。 创建热词表请参考《API参考》中创建热词表章节。 need_word_info 否 String 表示是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”。
  • 初始化Client 初始化AsrCustomizationClient详见表 AsrCustomizationClient初始化参数。 表1 AsrCustomizationClient初始化参数 参数名称 是否必选 参数类型 描述 ak 是 String 用户的ak,可参考AK/SK认证。 sk 是 String 用户的sk,可参考AK/SK认证。 region 是 String 区域,如cn-north-4,参考终端节点。 project_id 是 String 项目ID,同region一一对应,参考获取项目ID。 service_endpoint 否 String 终端节点,一般使用默认即可。 sis_config 否 Object 详见表2。 表2 SisConfig 参数名称 是否必选 参数类型 描述 connect_timeout 否 Integer 连接超时,默认10,单位s。 read_timeout 否 Integer 读取超时,默认10,单位s。 proxy 否 List [host, port] 或 [host, port, username, password]。
  • 响应参数 Python SDK响应结果为Json格式,表4。调用失败处理方法请参见错误码。 表4 响应结果 参数名称 是否必选 参数类型 描述 result 是 Object 详见表5。 trace_id 是 String 用于后台日志问题追溯。 表5 Result 参数名称 是否必选 参数类型 描述 text 是 String 识别结果。 score 是 Float 识别结果置信度评分。 word_info 否 Array of objects 分词信息列表。 表6 Word_info 数据结构 参数名 是否必选 参数类型 说明 start_time 否 Integer 起始时间 end_time 否 Integer 结束时间 word 否 String 分词
  • 初始化Client 初始化RasrClient,其参数包括AuthInfo。 表1 AuthInfo 参数名称 是否必选 参数类型 描述 ak 是 String 用户的ak,可参考AK/SK认证。 sk 是 String 用户的sk,可参考AK/SK认证。 projectId 是 String 项目ID,同region一一对应,参考获取项目ID。 region 是 String 区域,如cn-north-4,参考终端节点。 endpoint 否 String 终端节点,参考地区和终端节点。一般使用默认即可。
  • 请求参数 请求类为RasrRequest,详见表 RasrRequest。 表2 RasrRequest 参数名称 是否必选 参数类型 描述 audioFormat 是 String 音频格式,支持pcm等,如pcm8k16bit,参见《API参考》中开始识别章节。 property 是 String 属性字符串,language_sampleRate_domain, 如chinese_8k_common,参见《API参考》中开始识别章节。 通过set方法可以设置具体参数,详见表 RasrRequest设置参数 表3 RasrRequest设置参数 方法名称 是否必选 参数类型 描述 SetPunc 否 String 表示是否在识别结果中添加标点,取值为yes 、 no,默认no。 SetDigitNorm 否 String 表示是否将语音中的数字识别为阿拉伯数字,取值为yes 、 no,默认为yes。 SetVadHead 否 Integer 头部最大静音时间,[0, 60000],默认10000ms。 SetVadTail 否 Integer 尾部最大静音时间,[0, 3000],默认500ms。 SetMaxSeconds 否 Integer 音频最长持续时间, [1, 60],默认30s。 SetIntermediateResult 否 String 是否显示中间结果,yes 或 no,默认no。 SetVocabularyId 否 String 热词表id,若没有则不填。 SetNeedWordInfo 否 String 表示是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”。
  • 响应参数 Python SDK响应结果为Json格式,详见表4。调用失败处理方法请参见错误码。 表4 响应结果 参数名称 是否必选 参数类型 描述 status 否 String 当前识别状态。具体状态如下所示: WAITING 等待识别。 FINISHED 识别已经完成。 ERROR 识别过程中发生错误。 create_time 否 String 任务创建时间, 遵循 RFC 3339格式。 格式示例:2018-12-04T13:10:29.310Z。 start_time 否 String 开始识别时间, 遵循 RFC 3339格式。 当status为FINISHED或ERROR时存在。 格式示例:2018-12-04T13:10:29.310Z。 finish_time 否 String 识别完成时间, 遵循 RFC 3339格式。 当status为FINISHED或ERROR时存在。 格式示例:2018-12-04T13:10:29.310Z。 audio_duration 否 Integer 提交音频时长,单位ms。 segments 否 Array of objects 识别结果, 多句结果的数组。 数据结构参见表5。 表5 Segment 参数名 是否必选 参数类型 说明 start_time 是 Integer 一句的起始时间戳,单位ms。 end_time 是 Integer 一句的结束时间戳,单位ms。 result 是 Object 调用成功表示识别结果,调用失败时无此字段。详见表6。 表6 Result 参数名 是否必选 参数类型 说明 text 是 String 识别结果文本。 analysis_info 否 Object 每一句的质检分析结果对象。 仅在识别配置中的need_analysis_info不为null时存在该返回结果。详见表7。 word_info 否 Array of Object 分词输出列表。 表7 Analysis_info 参数名 是否必选 参数类型 说明 role 否 String 角色类型,目前仅支持 AGENT(座席),USER(用户)。 emotion 否 String 情绪类型,目前仅支持NORMAL(正常),ANGRY(愤怒)。 在识别配置中emotion为true时存在。 speed 否 Float 语速信息,单位是"每秒字数"。 在识别配置中speed为true时存在。 表8 Word_info 数据结构 参数名 是否必选 参数类型 说明 start_time 否 Integer 起始时间 end_time 否 Integer 结束时间 word 否 String 分词
  • 请求参数 请求类为AsrCustomLongRequest,详见表3。 表3 AsrCustomLongRequest 参数名称 是否必选 参数类型 描述 data_url 是 String 存放录音文件地址: 推荐使用华为云OBS:授权配置请参见OBS配置。 您也可以把录音文件放在自行搭建服务器上,提供下载文件的地址。URL不能使用IP地址,只能使用域名,请尽量避免中文 audio_format 是 String 音频格式,具体信息请参见《API参考》中录音文件识别章节。 model_property 是 String 属性字符串,语言_采样率_模型,如chinese_8k_common。具体信息请参见《API参考》中录音文件识别章节。 add_punc 否 String 表示是否在识别结果中添加标点,取值为yes 、 no,默认no。 digit_norm 否 String 表示是否将语音中的数字识别为阿拉伯数字,取值为yes 、 no,默认为yes。 need_analysis_info 否 Boolean 是否选择分析信息。 如果选择false,则声道、话者分离、情绪检测、速度信息均无效。默认false。 diarization 否 Boolean 是否需要话者分离,表示识别结果会包含role项,默认true。 channel 否 String 语音文件声道信息,可以为MONO(缺省), LEFT_AGENT, RIGHT_AGENT。默认MONO。 emotion 否 Boolean 是否需要做情绪检测,默认true。 speed 否 Boolean 是否需要输出语速信息,默认true。 vocabulary_id 否 String 热词表id,不使用则不填写。 创建热词表请参考《API参考》中创建热词表章节。 word_info 否 Array of objects 分词信息列表。
  • 初始化Client 初始化AsrCustomizationClient详见表 AsrCustomizationClient初始化参数。 表1 AsrCustomizationClient初始化参数 参数名称 是否必选 参数类型 描述 ak 是 String 用户的ak,可参考AK/SK认证。 sk 是 String 用户的sk,可参考AK/SK认证。 region 是 String 区域,如:cn-north-4。具体请参考终端节点。 project_id 是 String 项目ID,同region一一对应,参考获取项目ID。 service_endpoint 否 String 终端节点,一般使用默认即可。 sis_config 否 Object 详见表2。 表2 SisConfig 参数名称 是否必选 参数类型 描述 connect_timeout 否 Integer 连接超时,默认10,单位s。 read_timeout 否 Integer 读取超时,默认10,单位s。 proxy 否 List [host, port] 或 [host, port, username, password]。
  • 响应参数 响应类为AsrCustomShortResponse,详见表4。调用失败处理方法请参见错误码。 表4 AsrCustomShortResponse 参数名 是否必选 参数类型 说明 trace_id 是 String 服务内部的令牌,可用于在日志中追溯具体流程,调用失败无此字段。 在某些错误情况下可能没有此令牌字符串。 result 是 Object 调用成功表示识别结果,调用失败时无此字段。请参考表5。 表5 Result 参数名 是否必选 参数类型 说明 text 是 String 调用成功表示识别出的内容。 score 是 Float 调用成功表示识别出的置信度,取值范围:0~1。 word_info 否 Array of objects 分词信息列表。 表6 Word_info 数据结构 参数名 是否必选 参数类型 说明 start_time 否 Integer 起始时间 end_time 否 Integer 结束时间 word 否 String 分词
共100000条