华为云用户手册

  • 错误码说明 当您使用各云服务的API时,如果遇到“APIGW”开头的错误码,请参考如下语义与解决方案进行处理。 表1 错误码 错误码 错误信息 HTTP状态码 语义 解决方案 APIGW.0101 The API does not exist or has not been published in the environment. 404 API不存在或未发布到环境 请参考"The API does not exist or has not been published in the environment."如何解决?处理 APIGW.0101 The API does not exist. 404 API请求方法不存在 检查API请求方法是否与API定义的方法相同 APIGW.0103 The backend does not exist. 404 无法找到后端 联系技术支持 APIGW.0104 The plug-ins do not exist. 400 无法找到插件配置 联系技术支持 APIGW.0105 The backend configurations do not exist. 400 无法找到后端配置 联系技术支持 APIGW.0106 Orchestration error. 400 编排错误 检查API配置的前后端参数是否合理 APIGW.0201 API request error. 400 请求格式不合法 使用合法的请求 APIGW.0201 Request entity too large. 413 请求body过大(大于12M) 减小请求body大小 APIGW.0201 Request URI too large. 414 请求URI过大 减小请求URI大小 APIGW.0201 Request headers too large. 494 请求头过大 减小请求头大小 APIGW.0201 Backend unavailable. 502 后端不可用 检查API配置的后端地址是否可用 APIGW.0201 Backend timeout. 504 后端超时 增大超时时间或缩小后端的处理时间 APIGW.0301 Incorrect IAM authentication information. 401 IAM认证信息错误 请参考IAM认证信息错误处理 APIGW.0302 The IAM user is not authorized to access the API. 403 IAM用户不允许访问API 检查用户是否被黑/白名单限制 APIGW.0303 Incorrect app authentication information. 401 APP认证信息错误 APP签名认证时,做如下检查: 检查请求的方法、路径、查询参数、请求体和签名使用的方法、路径、查询参数、请求体是否一致 检查客户端机器时间是否正确 请参考使用APP认证调用API检查签名代码的问题。 APPCODE简易认证时,做如下检查:检查请求是否携带了X-Apig-AppCode头域 APIGW.0304 The app is not authorized to access the API. 403 APP不允许访问API 检查APP是否授权访问API APIGW.0305 Incorrect authentication information. 401 认证信息错误 检查认证信息是否正确 APIGW.0306 API access denied. 403 不允许访问API 检查是否授权访问API APIGW.0307 The token must be updated. 401 Token需要更新 重新从IAM服务 获取Token 也有可能是调用了不同region的接口,导致判断为Token失效,建议检查接口URL APIGW.0308 The throttling threshold has been reached. 429 超出流控值限制 等待流控刷新后访问。默认每个API每秒最多访问200次 云服务开放的API,一般无法调整限额,请等待流控刷新后访问 您在API网关服务中自行创建API,如需调整限额,请提工单联系技术支持 APIGW.0310 The project is unavailable. 403 project不可使用 使用其他project访问 APIGW.0311 Incorrect debugging authentication information. 401 调试认证信息错误 联系技术支持 APIGW.0401 Unknown client IP address. 403 无法识别客户端IP地址 联系技术支持 APIGW.0402 The IP address is not authorized to access the API. 403 IP地址不允许访问 检查IP地址是否被黑/白名单限制 APIGW.0404 Access to the backend IP address has been denied. 403 后端IP不允许访问 后端IP地址或后端域名对应的IP地址不允许访问,请检查IP地址是否被黑/白名单限制,或检查对应后端IP是否存在。 APIGW.0501 The app quota has been used up. 405 APP已经超出配额 购买APP配额 APIGW.0502 The app has been frozen. 405 APP被冻结 余额不足,请前往“资金管理”充值。 APIGW.0601 Internal server error. 500 内部错误 联系技术支持 APIGW.0602 Bad request. 400 非法请求 检查请求是否合法 APIGW.0605 Domain name resolution failed. 500 域名解析失败 检查域名拼写,以及域名是否绑定了正确的后端地址 APIGW.0606 Failed to load the API configurations. 500 未加载API配置 联系技术支持 APIGW.0607 The following protocol is supported: {xxx} 400 协议不被允许,允许的协议是xxx 注意:xxx以实际响应中的内容为准 改用支持的协议(HTTP/HTTPS)访问 APIGW.0608 Failed to obtain the admin token. 500 无法获取管理租户 联系技术支持 APIGW.0609 The VPC backend does not exist. 500 找不到vpc后端 联系技术支持 APIGW.0610 No backend available. 502 没有可连接的后端 检查所有后端是否可用 APIGW.0611 The backend port does not exist. 500 后端端口未找到 联系技术支持 APIGW.0612 An API cannot call itself. 500 API调用自身 修改API后端配置,递归调用层数不能超过10层 APIGW.0613 The IAM service is currently unavailable. 503 IAM服务暂时不可用 联系技术支持 APIGW.0705 Backend signature calculation failed. 500 计算后端签名失败 联系技术支持 APIGW.0801 The service is unavailable in the currently selected region. 403 服务在当前region不可访问 检查所访问的服务是否支持跨region访问 APIGW.0802 The IAM user is forbidden in the currently selected region. 403 该IAM用户在当前region中被禁用 联系技术支持
  • 修订记录 发布日期 修订记录 2021-01-30 预测分析改版,预测分析 2021-01-19 与界面保持一致,“自动训练”改为“模型训练”。 2020-05-26 刷新如下几个类型项目的数据集要求。 图像分类:准备数据 物体检测:准备数据 声音分类:准备数据 文本分类:准备数据 2020-03-20 自动学习功能改版,针对全文进行修改,按照最新版本进行步骤描述。 新增“文本分类”的自动学习项目。 准备数据 创建项目 数据标注 模型训练 部署上线 由于新版自动学习上线,增加旧版升级的操作指导。 将旧版项目升级到新版 2020-01-14 增加使用窍门相关章节。 创建项目时,如何快速创建OBS桶及文件夹? 增加的数据,如何在自动学习项目中查看? 自动学习项目中,如何进行增量训练? 自动学习生成的模型,存储在哪里?支持哪些其他操作? 2019-10-16 新增数据集要求和OBS上传文件规范的相关说明。 预测分析-准备数据 声音分类-准备数据 2019-05-31 第一次正式发布。 父主题: 自动学习(旧版)
  • 模型部署规格 自动学习下的不同项目,在完成训练后,进行模型部署时,按照不同的项目类型,模型部署所支持的规格也有所不同,具体可参见表1。 表1 不同项目支持的部署规格 分类 模型部署可用规格 图像分类 自动学习免费规格(CPU) 增强计算型3实例-自动学习(CPU) 增强计算型2实例-自动学习(GPU) 物体检测 自动学习免费规格(CPU) 增强计算型3实例-自动学习(CPU) 增强计算型2实例-自动学习(GPU) 预测分析 自动学习免费规格(CPU) 增强计算型3实例-自动学习(CPU) 声音分类 自动学习免费规格(CPU) 增强计算型3实例-自动学习(CPU) 增强计算型2实例-自动学习(GPU) 文本分类 自动学习免费规格(CPU) 增强计算型3实例-自动学习(CPU) 增强计算型2实例-自动学习(GPU)
  • 操作步骤 预测分析不需要进行数据标注步骤,选择包含标签列的表格数据后自动学习将会按照该数据进行预测分析。 在选择好数据集之后,在标签列下拉选择您需要预测的列项。 图1 选择标签列 在创建自动学习后,不需要进行操作,等待工作流按步骤自动进入训练节点。 自动学习也可支持在配置页面修改标签列,可按照以下操作流程进行: 登录ModelArts管理控制台,在总览页面选择“Workflow”进入工作流总览页。 选择自动学习生成的工作流,单击工作流名称,进入详情页面。 单击右上角的“配置”,选择“节点配置”。 图2 节点配置 数据集版本发布:“输入”选择您的当前的数据集或者更改数据集以及数据集版本。 预测分析:“参数”可根据您的数据集信息选择您需要预测的列项。 修改完成后,单击右上角“保存配置”即可。 分类问题(离散值)在模型训练完成后,评估结果会展现召回率(Recall)、精确率(Precision)、准确率(Accuracy)及F1值(F1 Score)。 连续值在模型训练完成后,评估结果会展现平均绝对误差(Mean Absolute Error),均方误差(Mean Squared Error),均方根误差(Root Mean Squared Error)。
  • 数据上传至OBS 在本文档中,采用通过OBS管理控制台将数据上传至OBS桶。 执行如下操作,将数据导入到您的数据集中,以便用于模型训练和构建。 登录OBS管理控制台,在ModelArts同一区域内创建桶。如果已存在可用的桶,需确保OBS桶与ModelArts在同一区域。 参考上传文件,将本地数据上传至OBS桶中。如果您的数据较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。 在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。 用于训练的文本,至少有2种以上的分类,每种分类的文本数据数不少20行。
  • 数据上传至OBS 在本文档中,采用通过OBS管理控制台将数据上传至OBS桶。 执行如下操作,将数据导入到您的数据集中,以便用于模型训练和构建。 登录OBS管理控制台,在ModelArts同一区域内创建桶。如果已存在可用的桶,需确保OBS桶与ModelArts在同一区域。 参考上传文件,将本地数据上传至OBS桶中。如果您的数据较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。 在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。 用于训练的图片,至少有1种以上的分类,每种分类的图片数不少50张。
  • 数据集要求 文件名规范:不能有+、空格、制表符。 保证图片质量:不能有损坏的图片,目前支持的格式包括jpg、jpeg、bmp、png。 不要把明显不同的多个任务数据放在同一个数据集内。 每一类数据尽量多,尽量均衡。期望获得良好效果,图像分类项目中,至少有两种以上的分类,每种分类的样本不少于20张。 为了保证模型的预测准确度,训练样本跟真实使用场景尽量相似。 为保证模型的泛化能力,数据集尽量覆盖可能出现的各种场景。
  • 数据上传至OBS 在本文档中,采用通过OBS管理控制台将数据上传至OBS桶。 执行如下操作,将数据导入到您的数据集中,以便用于模型训练和构建。 登录OBS管理控制台,在ModelArts同一区域内创建桶。如果已存在可用的桶,需确保OBS桶与ModelArts在同一区域。 参考上传文件,将本地数据上传至OBS桶中。如果您的数据较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。 在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。 用于训练的图片,至少有2种以上的分类,每种分类的图片数不少20张。
  • 模型训练规格 自动学习下的不同项目,在进行训练时,按照不同的项目类型,模型训练所支持的规格也有所不同,具体可参见表1。 表1 不同项目支持的训练规格 分类 模型训练可用规格 图像分类 GPU: 8*NVIDIA-V100(32GB) | CPU: 72 核 512GB GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB [限时免费]GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB 物体检测 GPU: 8*NVIDIA-V100(32GB) | CPU: 72 核 512GB GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB [限时免费]GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB 预测分析 GPU: 8*NVIDIA-V100(32GB) | CPU: 72 核 512GB GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB [限时免费]GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB 声音分类 GPU: 8*NVIDIA-V100(32GB) | CPU: 72 核 512GB GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB [限时免费]GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB 文本分类 GPU: 8*NVIDIA-V100(32GB) | CPU: 72 核 512GB GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB [限时免费]GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB 只有北京四区域支持限时免费规格。
  • 名词解释 基本概念、云服务简介、专有名词解释 弹性云服务器 E CS :是一种可随时自助获取、可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。 弹性公网IP EIP:提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑。 云数据库 RDS for MySQL:云数据库 RDS for MySQL拥有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点,让您更加专注业务发展。
  • OpenTSDB的HTTP API访问 OpenTSDB只支持通过HTTP API的方式进行访问。 HTTP协议本身有安全风险,HTTPS是安全协议,建议使用HTTPS连接方式。 CloudTable服务上的OpenTSDB使用的版本是OpenTSDB 2.3.0,它的接口与开源OpenTSDB的接口是保持一致的。 有关OpenTSDB API的更多信息,请参考《 表格存储服务 开发指南》的OpenTSDB API简介章节。
  • 连接OpenTSDB 获取OpenTSDB链接地址。 请登录 表格存储 服务管理控制台,在左侧导航树单击“集群模式”,在集群列表中找到所要查看的集群,单击集群名称进入集群基本信息页面,获取其中的“OpenTSDB链接地址(内网)”。 图1 OpenTSDB链接地址 准备客户端运行环境。 OpenTSDB链接地址是内网地址,您需要准备一台和CloudTable集群在相同区域、可用区、虚拟私有云、子网和安全组的弹性云服务器才能访问OpenTSDB。 创建并登录弹性云服务器的具体操作,请参见准备弹性云服务器。 在弹性云服务器上,访问OpenTSDB。 您可以通过以下两种方式访问OpenTSDB: 使用cURL命令行工具或Postman等REST客户端,发送HTTP请求访问OpenTSDB。 例如,使用cURL命令行工具发送以下请求,如果返回200 OK,说明连接OpenTSDB成功。{OpenTSDB URL}为1中获取的OpenTSDB链接地址。 curl -i -X GET http://{OpenTSDB URL}/api/version 以下是一个写入数据和查询数据的示例: 写入数据: curl -i -X POST -d '{"metric":"money", "timestamp":1524900283, "value":1, "tags":{"card":"card1"}}' http://{OpenTSDB URL}/api/put?sync -k -v 查询数据: curl -i -X POST -d '{"start": 1524900283,"end": 1524900289,"queries": [{"aggregator": "sum","metric": "money"}]}' http://{OpenTSDB URL}/api/query -k -v 开发应用程序,调用HTTP API访问OpenTSDB进行数据的读写。 详细内容请参考《表格存储服务开发指南》中的以下章节: 开发OpenTSDB应用 OpenTSDB API简介
  • 一键部署客户端 准备Linux弹性云服务器。 使用一键部署客户端工具,建议Linux弹性云服务器的操作系统类型为EulerOS,CentOS,Ubuntu和SUSE。具体操作请参见准备弹性云服务器章节。 下载客户端一键部署工具。 执行如下命令,获取客户端一键部署工具: curl -O -k "http://cloudtable-publish.obs.myhuaweicloud.com/quick_start_hbase_shell.sh" 准备集群访问地址。 登录表格存储服务管理控制台,在左侧导航树单击“集群模式”,然后在集群列表中找到所需要的集群,并获取相应的“ZK链接地址”。该参数值就是集群访问地址,如图1所示。 图1 ZK链接地址 使用工具部署客户端。 请将以下命令中的"$zookeeper_address"参数替换为图1获取的ZK链接地址,然后在弹性云服务器命令行窗口,执行该命令一键部署客户端。 source quick_start_hbase_shell.sh $zookeeper_address 进入GeoMesa客户端目录。 在上一步执行source命令自动部署客户端后,就已自动启动了HBase Shell。执行以下命令退出HBase Shell客户端: exit 进入GeoMesa客户端目录: cd geomesa-hbase_2.11-1.3.4
  • GeoMesa命令行简介 本节介绍常用的GeoMesa命令。更多的GeoMesa命令,请参见https://www.geomesa.org/documentation/user/accumulo/commandline.html。 查看classpath 执行“classpath”命令,将会返回当前命令行工具的所有classpath信息。 bin/geomesa-hbase classpath 创建表 执行“create-schema”命令创建表,创建表时至少要指定目录名称与表名称,以及表规格。 bin/geomesa-hbase create-schema -c geomesa -f test -s Who:String,What:java.lang.Long,When:Date,*Where:Point:srid=4326,Why:String 描述表 执行“describe-schema”命令获取表描述信息,描述表信息时必须要指定目录名称与表名称。 bin/geomesa-hbase describe-schema -c geomesa -f test 批量导入数据 执行“ingest”命令批量导入数据,导入时需要指定目录名称,表名称,表规格,以及相应的数据转换器等。 数据(车牌号,车辆颜色,经度,维度,时间):data.csv,并将数据表放在data文件夹中。 AAA,red,113.918417,22.505892,2017-04-09 18:03:46BBB,white,113.960719,22.556511,2017-04-24 07:38:47CCC,blue,114.088333,22.637222,2017-04-23 15:07:54DDD,yellow,114.195456,22.596103,2017-04-21 21:27:06EEE,black,113.897614,22.551331,2017-04-09 09:34:48 表结构定义:myschema.sft,并将myschema.sft放在geomesa命令行工具的conf文件夹中。 geomesa.sfts.cars = { attributes = [ { name = "carid", type = "String", index = true } { name = "color", type = "String", index = false } { name = "time", type = "Date", index = false } { name = "geom", type = "Point", index = true,srid = 4326,default = true } ]} 转换器定义:myconvertor.convert,并将myconvertor.convert放在geomesa命令行工具的conf文件夹中。 geomesa.converters.cars= { type = "delimited-text", format = "CSV", id-field = "$fid", fields = [ { name = "fid", transform = "concat($1,$5)" } { name = "carid", transform = "$1::string" } { name = "color", transform = "$2::string" } { name = "lon", transform = "$3::double" } { name = "lat", transform = "$4::double" } { name = "geom", transform = "point($lon,$lat)" } { name = "time", transform = "date('YYYY-MM-dd HH:mm:ss',$5)" } ]} 执行命令导入数据: bin/geomesa-hbase ingest -c geomesa -C conf/myconvertor.convert -s conf/myschema.sft data/data.csv 数据导入其他参数具体说明请参见:https://www.geomesa.org/documentation/user/accumulo/examples.html#ingesting-data 解释查询 执行“explain”命令获取指定查询语句执行计划的解释说明,解释语句时必须指定目录名称和表名称,以及给定查询语句。 bin/geomesa-hbase explain -c geomesa -f cars -q "carid = 'BBB'" 统计分析 执行“stats-analyze”命令对数据表进行统计分析,同时还可以进一步执行“stats-bounds”,“stats-count”,“stats-histogram”,“stats-top-k”命令对数据表做更详细的统计。 bin/geomesa-hbase stats-analyze -c geomesa -f carsbin/geomesa-hbase stats-bounds -c geomesa -f carsbin/geomesa-hbase stats-count -c geomesa -f carsbin/geomesa-hbase stats-histogram -c geomesa -f carsbin/geomesa-hbase stats-top-k -c geomesa -f cars 导出feature 执行“export”命令导出feature,导出时必须指定目录名称和表名称,同时还可以根据指定的查询语句进行导出。 bin/geomesa-hbase export -c geomesa -f cars -q "carid = 'BBB'" 删除feature 执行“delete-features”命令删除feature,删除时必须指定目录名称和表名称,同时还可以根据指定的查询语句进行删除。 bin/geomesa-hbase delete-features -c geomesa -f cars -q "carid = 'BBB'" 获取目录中的全部表的名称 执行“get-type-names”命令获取指定目录中的表名称。 bin/geomesa-hbase get-type-names -c geomesa 删除表 执行“remove-schema”命令删除表,删除表示至少要指定表所在的目录与表名称。 bin/geomesa-hbase remove-schema -c geomesa -f testbin/geomesa-hbase remove-schema -c geomesa -f cars 删除目录 执行“delete-catalog”命令删除指定的目录。 bin/geomesa-hbase delete-catalog -c geomesa 父主题: 使用GeoMesa
  • 支持的关键操作审计日志 CloudTable使用 云审计 服务,可以记录与CloudTable服务相关的操作事件,便于日后的查询、审计和回溯。 CloudTable的以下关键操作事件将记录审计日志,详细内容如表1所示。 表1 云审计服务支持的CloudTable操作事件列表 操作名称 事件名称 资源类型 创建集群 createCluster cluster 删除集群 deleteCloudTableCluster cluster 扩容集群 growCloudTableCluster cluster 重启集群 rebootCloudTableCluster cluster 设置存储配额 storageClusterAction cluster 特性开关 modifyClusterFeatures cluster 参数配置 modifyClusterSetting cluster 父主题: HBase审计日志
  • HBase Elasticsearch schema定义说明 HBase通过表的METADATA来存储Elasticsearch schema的定义: 表1 schema定义 字段名称 value说明 是否必填 hbase.index.es.enabled 该HBase表在Elasticsearch中是否创建全文索引,true表示创建,默认为false。 是 hbase.index.es.endpoint 云搜索服务 集群(Elasticsearch引擎)的访问地址,例如'ip1:port,ip2:port'。 是 hbase.index.es.indexname HBase表对应在Elasticsearch中的索引名称,必须小写。 是 hbase.index.es.shards Elasticsearch中索引的分片数量,默认5。取值为大于等于1的整数。 否 hbase.index.es.replicas Elasticsearch中的索引的副本数量,默认1。取值为大于等于0的整数。 否 hbase.index.es.schema HBase和Elasticsearch的字段映射,json数组格式的字符,每个元素包含以下字段: name:Elasticsearch中的字段名称。 type:Elasticsearch中的字段类型。 hbaseQualifier:数据源HBase qualifier。 analyzer:text类型的字段通过“analyzer”可以指定分词器。中文分词器一般使用“ik_smart”。默认是“Standard”分词器,支持英文。 例如: '[ {"name":"contentCh","type":"text","hbaseQualifier":"cf1:contentCh","analyzer":"ik_smart"}, {"name":"contentEng","type":"text","hbaseQualifier":"cf2:contentEng"},{"name":"id","type":"long","hbaseQualifier":"cf1:id"} ]' 是 HBase-Elasticsearch全文检索当前支持的数据类型有{"text", "long", "integer", "short", "byte", "double", "float","boolean"},也就是schema中type的取值类型。text是Elasticsearch中的文本类型。全文检索一般是指对text类型数据的检索,同时也支持基本数据类型的准确检索。
  • OpenTSDB架构 OpenTSDB由时间序列守护进程(TSD)和一组命令行实用程序组成。与OpenTSDB的交互主要通过运行一个或多个TSD来实现。每个TSD都是独立的。没有主服务器,没有共享状态,因此您可以根据需要运行任意数量的TSD来处理您向其投入的任何负载。每个TSD使用CloudTable集群中的HBase来存储和检索时间序列数据。数据模式经过高度优化,可快速聚合相似的时间序列,从而最大限度地减少存储空间。TSD的用户不需要直接访问底层存储。您可以通过HTTP API与TSD进行通信。所有通信都发生在同一个端口上(TSD通过查看它收到的前几个字节来确定客户端的协议)。 图1 OpenTSDB架构
  • 基本概念 data point:时间序列数据点,包括metric、timestamp、value和tag。表示某个metric在某个时间点的数值。 metric:指标项。例如,在系统监控中的CPU使用率、内存、IO等指标。 timestamp:UNIX时间戳(自Epoch以来的秒或毫秒),即value产生的时间。 value:某个metric的值,是JSON格式的事件或直方图/摘要。 tag:标签,是由Tagk和Tagv组成的键值对。用于描述该点所属的时间序列。 标签允许您从不同的源或相关实体中分离出类似的数据点,因此您可以轻松地单独或成组地绘制它们。标签的一个常见用法是使用生成数据点的机器名称以及机器所属的集群或池的名称来注释数据点。这使您可以轻松地制作显示每个服务器的服务状态的仪表盘,以及显示跨逻辑服务器池的聚合状态的仪表盘。
  • OpenTSDB系统表简介 OpenTSDB是基于HBase存储时序列数据的,在集群中开启OpenTSDB后,系统会在集群中创建4张HBase表。OpenTSDB系统表如表1所示。 请不要人为去修改这4张HBase表,因为这可能会导致OpenTSDB不可用。 表1 OpenTSDB系统表 表名 说明 OPENTSDB.DATA 用于存储数据点,OpenTSDB的所有数据都存储在这个表中。OpenTSDB按照salt进行分区,默认20个region,暂不支持设置。 OPENTSDB.UID 用于存储UID映射,数据点中的每个metric,tag都会映射成UID,同时每个UID反向映射为metric,tag,这些映射关系存储在这个表中。 OPENTSDB.TREE 用于存储metric的结构信息,默认未开启该特性。 OPENTSDB.META 用于存储时间序列索引和元数据,默认未开启该特性。
  • 原理 CloudTable作为大数据存储服务,用户数据以Byte类型存储,同时提供高效的kv随机查询能力。在此基础上,用户根据自身业务需求,自定义schema来指定部分字段的数据类型(一般是文本类型)来扩展CloudTable的全文检索能力。CloudTable服务是计算和存储分离,数据存储易扩容和低成本,适合作为海量源数据(任何数据类型)的主存储系统, 云搜索 服务(Elasticsearch)保留轻量级的索引数据来支持关键词检索。如下图所示: 图1 原理图 用户创建HBase表时如果定义部分字段开启全文索引,HBase写入数据时会自动同步全文索引数据到云搜索服务中,同时HBase原生的数据读取接口scan在kv读取能力上,也支持常用的全文检索能力。对于复杂的高阶检索能力,用户可以先调用Elasticsearch的接口再调用CloudTable的读接口来组合完成业务逻辑。
  • 使用场景 用户业务数据海量,需要HBase作为大数据在线存储系统提供最基础的高效高并发低时延KV查询能力。同时,数据的字段种类、数量众多,即对应的业务多样化。比如某表的一行数据,部分文本字段需要用关键词来全文检索,部分字段是二级索引,以及部分字段应用于标签位图索引。此场景适合CloudTable服务开启Elasticsearch全文检索能力,同时也保留其他业务扩展能力。例如: 搜索网站,实时存储海量用户的搜索词条信息、用户环境信息以及基本信息,并按照商品关键词提取用户信息,信息立即转售给第三方电商平台。 智慧医院的智能病例系统,存储病人就医信息,信息包括病人的基本信息、身体当前状态信息、医生当前职业信息、病情描述、诊断结果描述、服用药品等信息。医院信息平台根据当前社会的疫情、违禁药品、或技术突破等关键词,统计或查找历史就医的病人,回访病人或者联系病人使用新技术二次诊断等创新型贴心业务。 政府智能舆情治理系统,海量存储主流媒体平台用户的社会性言论和用户信息、转发次数等数据。检索出当前的热点事件,如果是造谣事件,系统自动提醒用户当前事件的真实性、用户发表/转发的社会影响性数据、以及相关的法律条文和类似案件。智能的反馈机制给造谣用户起到震慑作用,引导良好的言论风气。
  • 配置数据存储 登录表格存储服务管理控制台。 单击管理控制台左上角的,选择区域。 在左侧导航树,单击集群管理。 在集群列表中找到所需集群,在对应的操作列中,单击查看监控信息,系统会跳到该集群的云服务监控页面。 在Doris集群的“云服务监控”页面中,单击集群ID前的按钮展开计算单元列表。 单击配置数据存储,弹出配置数据存储页面。 图1 配置数据存储 在如图2所示的计算单元列表中,找到所需查看的计算单元,单击“配置数据存储”为该计算单元配置监控数据的存储路径。 在弹出的“配置数据存储”页面,配置如下参数,然后单击“确定”。 表1 数据存储参数说明 参数名称 说明 样例 OBS转储 是否配置OBS转储。首次配置选择“是”。 是 新创建OBS桶 若已有OBS桶,可不用创建。 若没有OBS桶,可开启该选项创建新的OBS桶。 是 转储OBS桶 已有OBS桶时,选择已有的桶。 若没有OBS桶,输入需要创建的OBS桶名。 - 监控数据文件前缀 通过设置监控数据文件前缀可以方便您区分OBS桶中的 云监控服务 数据文件与其他普通文件。 - 授权给 CES ,单击确定,出现提示语“成功配置OBS转储”,即配置成功。 图2 授权
  • 响应参数 状态码: 201 表3 响应Body参数 参数 参数类型 描述 [数组元素] Array of CreateResponseBody objects 创建的服务作业ID的集合。 表4 CreateResponseBody 参数 参数类型 描述 id String 创建的服务作业ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 服务内部错误码。 error_msg String 错误信息。 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 服务内部错误码。 error_msg String 错误信息。
  • 响应示例 状态码: 201 创建服务作业成功。 [ { "id" : "53e4xxxxxxxxxxxxxxxxxxxxxxb55b3e"} ] 状态码: 400 请求不合法。 { "error_code" : "IVA.0004", "error_msg" : "The request param is invalid. The field [input] is required and cannot be empty."} 状态码: 404 指定的服务不存在。 { "error_code" : "IVA.0005", "error_msg" : "The requested resource is NOT found. Service face-detect/1.0 not found."}
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 作业的名称,必填。仅能包含汉字、字母、数字、中划线和下划线,长度介于1~100之间。 description 否 String 作业的描述,选填。长度不超过500。 最小长度:0 最大长度:500 service_version 是 String 作业对应服务的版本号,必填。由两个介于0~999的整数和一个点号分隔符组成。 edge_pool_id 否 String 作业运行指定的边缘运行池ID,仅边缘场景需填且必填。 resource_order_id 否 String 作业指定的算法能力包包周期订单ID,仅部分服务需填且必填。 timing 否 TaskTiming object 计划任务的配置项,选填。计划任务不支持obs输入,对于url输入则仅支持rtmp和rtsp两种形式。 input 是 TaskInput object 作业的输入配置,必填。 output 是 TaskOutput object 作业的输出配置,至少需要配置一项输出方式。 service_config 否 TaskServiceConfig object 作业运行时指定的算法配置参数,部分服务需填且必填。
  • 请求示例 创建一个OBS为输入,OBS为输出的 视频审核 服务作业。 POST /v2/b722xxxxxxxxxxxxxxxxxxxxxxeb4674/services/video-moderation/tasks{ "name": "task-test", "description": "description", "service_version":"1.2", "input": { "type": "obs", "data": [ { "bucket": "obs-iva", "path": "input/demo.mp4" } ] }, "output": { "obs": { "bucket": "obs-iva", "path": "output/" }, "hosting": {} }, "service_config": { "common": { "frame_interval": 5, "upload": "false", "use_ocr": "true", "use_sis": "true" } }} 创建一个EdgeCamera为输入,DIS为输出的普通边缘服务作业。 POST /v2/b722xxxxxxxxxxxxxxxxxxxxxxeb4674/services/face-detect/tasks{ "name" : "task-test", "description" : "hello world", "service_version" : "1.0", "edge_pool_id" : "549cxxxxxxxxxxxxxxxxxxxxxx77a2a5", "input" : { "type" : "edgecamera", "data" : [ { "id" : "dd8xxxxx-xxxx-xxxx-xxxx-xxxxxx2f5bcb" } ] }, "output" : { "dis" : { "stream_name" : "dis-test" } }, "service_config" : { "common" : { "image_compression_ratio" : 90, "render_result_sw" : 0, "video_sampling_interval" : 1 } }} 创建一个EdgeCamera为输入,DIS为输出的,每天北京时间早8点到晚8点执行的计划边缘服务作业。 POST /v2/b722xxxxxxxxxxxxxxxxxxxxxxeb4674/services/face-detect/tasks{ "name" : "task-test", "description" : "hello world", "service_version" : "1.0", "edge_pool_id" : "549cxxxxxxxxxxxxxxxxxxxxxx77a2a5", "input" : { "type" : "edgecamera", "data" : [ { "id" : "dd8xxxxx-xxxx-xxxx-xxxx-xxxxxx2f5bcb" } ] }, "output" : { "dis" : { "stream_name" : "dis-test" } }, "timing" : { "type" : "daily", "timezone" : "+08:00", "periods" : [ { "begin_at" : "08:00:00", "end_at" : "20:00:00" } ] }, "service_config" : { "common" : { "image_compression_ratio" : 90, "render_result_sw" : 0, "video_sampling_interval" : 1 } }}
  • 基本概念 帐号 用户注册华为云时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看帐号ID和用户ID。通常在调用API的鉴权过程中,您需要用到帐号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 父主题: 使用前必读
  • 定时策略参数 表1 timing 响应参数结构 参数 参数类型 描述 type String 计划任务的类型,使用计划任务时必填。可选类型分别为once(仅执行一次),daily(每日执行),weekly(每周执行),monthly(每月执行)。 枚举值: once daily weekly monthly timezone String 用户所处的时区,使用计划任务时必填。精确到分钟。 days_of_week Array of integers 作业会在一周的哪几天执行,当且仅当计划任务类型为weekly时,该字段需填且必填。1~7分别指代星期一至星期日。 最小值:1 最大值:7 days_of_month Array of integers 作业会在一个月的哪几天执行,当且仅当计划任务类型为monthly时,该字段需填且必填。1~31分别指代一个月中的1日至31日。 最小值:1 最大值:31 date String 作业的执行日。当且仅当计划任务类型为once且为频率模式时,该字段需填且必填。格式形如yyyy-MM-dd。 periods Array of periods objects 时间段模式配置。和frequency字段二选一,不可共存。时间段模式下,至少需指定一个时间段。 frequency frequency object 频率模式配置。和periods字段二选一,不可共存。 表2 timing periods 响应参数结构 参数 参数类型 描述 begin_at String 单个时间段执行的起始时间,和end_at需成对出现。计划任务类型为once时,格式为yyyy-MM-ddThh:mm:ss,其余计划任务类型时,格式为hh:mm:ss。 end_at String 单个时间段执行的结束时间,和begin_at需成对出现。计划任务类型为once时,格式为yyyy-MM-ddThh:mm:ss,其余计划任务类型时,格式为hh:mm:ss。 表3 timing frequency 响应参数结构 参数 参数类型 描述 interval Integer 相邻两次执行之间的间隔,频率模式必填。取值范围在5~720之间,单位:分钟。 最小值:5 最大值:720 duration Integer 单次执行的运行时长,频率模式必填。取值范围在5~720之间,单位:分钟。 最小值:5 最大值:720 begin_at String 单日内执行的起始时间,选填。格式形如hh:mm:ss。 end_at String 单日内执行的结束时间,选填。格式形如hh:mm:ss。 父主题: 作业响应参数
  • 输出参数 表1 output 响应参数结构 参数 参数类型 描述 obs TaskOutputObs object 输出为obs类型时的配置信息 dis TaskOutputDis object 输出为dis类型时的配置信息 webhook TaskOutputWebhook object 输出为webhook类型时的配置信息 hosting TaskOutputHostingForDisplay object 输出为hosting类型时的配置和展示信息 localpath TaskOutputLocalpath object 输出为localpath类型时的配置信息 表2 output obs 响应参数结构 参数 参数类型 描述 bucket String OBS桶名,选用obs类型输出时必填。 最大长度:63 path String OBS的路径,选用obs类型输出时必填。 最大长度:1023 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 表3 output dis 响应参数结构 参数 参数类型 描述 stream_name String DIS流名称,选用dis类型输出时必填。 最大长度:64 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 表4 output webhook 响应参数结构 参数 参数类型 描述 url String 结果回调地址,选用webhook类型输出时必填。 最大长度:1000 headers Object 结果回调时需要携带的请求头,选用webhook类型输出时必填。整体呈json格式,以键值对的形式表示请求头和取值,至少1组,至多10组。 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 表5 output hosting 响应参数结构 参数 参数类型 描述 obs Array of obs objects 作业所有结果文件所在的OBS桶和路径 result_json_overdue_at Long 作业结果文件的过期时间 data_category Array of strings 作业输出数据类别的列表,当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据,部分服务需要 表6 output hosting obs 响应参数结构 参数 参数类型 描述 bucket String 结果文件result.json所在的OBS桶 最大长度:63 path String 结果文件result.json所在的路径 最大长度:1023 表7 output localpath 响应参数结构 参数 参数类型 描述 mount_source_path String 挂载的源路径,存放作业运行结果的路径,选用localpath类型输出时必填。必须为linux路径,且为选用的边缘运行池挂载路径的子路径,长度不超过255。 最大长度:255 data_category Array of strings 作业输出数据类别的列表,选填,仅部分服务需要。当输出类型下有这个列表时,表示希望这个输出类型下存放dataCategory列表内的数据。 父主题: 作业响应参数
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 表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 查询参数,可选,查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如,您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 为查看方便,服务每个具体API的URI,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
共100000条