华为云用户手册

  • 设计视图 标准页面中预置了多种组件,在开发页面时,可以直接从左侧组件区域,将这些组件拖拽到右侧“页面内容”中。 图1 标准页面编辑界面(UI Builder) 配置组件属性 了解组件使用场景及配置方法 在配置使用组件前,可以将光标放在每个组件上后,组件右上角将显示帮助信息的问号图标。单击问号图标,即可进入该组件介绍页面,了解并学习AstroZero预置前端组件的使用场景及参数配置方法。 图2 组件帮助信息入口 选中组件,查看组件属性 在“设计视图”中,选中一个页面组件,可以在右侧“属性”页签,设置该组件的绑定数据、样式等属性,如图3所示。在设计视图中选中一个文本框,可以在右侧修改这个文本框的标签名、样式、绑定的数据模型等。 图3 设置组件的属性 页面及组件的事件代码 在“设计视图”中,选中任意组件,可以在右侧“事件”页签,设置组件的关联事件。例如,可以选择一个“按钮”,然后在按钮的“点击”事件中,添加相应的事件代码,实现在单击按钮后将界面输入保存到数据库中。 图4 编辑组件的关联事件 利用组件导航,快速选中组件 当选中某个组件时,页面上方会在组件导航上显示它的html标签层级。因此,在组件数量比较多,位置较为紧密时,可以直接单击标签层级,快速选择组件,也可以快速切换组件。例如,在上图的组件导航中单击“页面”,可以直接选中页面上的最外层页面组件。 利用组件树,快速选中组件 在组件数量比较多,位置较为紧密时,也可以单击页面右下角的“组件树”,展开组件树,在组件树中,直接单击标签层级,快速选择组件,也可以快速切换组件。 图5 利用组件树快速选中组件
  • 模型视图 标准页面是通过数据模型驱动的,页面所有的逻辑都是围绕数据模型展开的。在将模型与前台页面组件或者后台逻辑绑定后,开发者只需要关注模型数据的实例化和处理,不需要关注页面的渲染和展示。 在页面底部,单击“模型视图”,即可从“设计视图”切换到“模型视图”,在模型视图下,可以查看、编辑以及管理数据模型,如图6所示。 图6 模型视图 模型定义 标准页面支持表1中四类模型,每类模型都包含参数定义和方法定义。方法是在模型上定义的API,通常会在前端组件关联的事件脚本(例如页面加载事件、鼠标单击事件)中调用这些API,以实现一定的逻辑。 表1 模型说明 模型分类 模型说明 模型参数的定义 模型方法的定义 API调用方法 自定义模型 自定义模型是由开发者自由定义的模型。 参数由开发者自定义,可以添加子节点。 开发者自定义方法。 $model.ref("modelName").actionName(); 对象模型 对象模型是直接与Object对象表映射生成的。 系统自动获取Object所有的字段,开发者可以从中选择部分字段作为参数。 平台自动生成查询、保存、删除和统计4个方法。 $model.ref("modelName").query(param); $model.ref("modelName").save(); $model.ref("modelName").delete(); $model.ref("modelName").count(); 服务模型 服务模型是与后台服务映射生成的,当前支持与服务编排或Script映射。 参数根据后台服务的入参、出参映射生成为inputParam和outputParam节点。 平台自动生成了run方法 ,用于执行模型关联的服务编排或者Script。 $model.ref("modelName").run(); 事件模型 事件模型是与后台事件的字段映射生成的,并且支持websocket刷新模型数据。 参数根据后台事件的字段映射生成。 平台自动生成了run方法 ,用于执行模型关联的服务编排或者Script。 $model.ref("modelName").run(); 除了在模型中定义的方法,AstroZero还提供了如下标准API: 获取模型数据:$model.ref("modelName").getData(); 设置模型数据:$model.ref("modelName").setData(); 设置模型字段值:$model.ref("modelName").setValue(key,value); 模型绑定 模型与前端组件的绑定分为值绑定和属性绑定,绑定会在指定组件上创建双向数据绑定。 典型的值绑定场景有:表单、表格、列表视图对应的model绑定,以及输入框、下拉框等基础组件对应的value绑定,类似Vue的v-model。 典型的属性绑定场景有:下拉框的选项值、步骤条的步骤值等,类似Vue的v-bind。 如图7所示的例子中,实现了表格DataGrid组件与值的绑定。 图7 数据绑定
  • 实现“处理工单” 通过定义“处理”按钮的“点击”事件,可以实现接单、处理工单的能力。 在“设计视图”中,选中“处理”按钮。 在右侧“事件”页签中,单击“点击”后的“+”。 在添加事件弹窗中,输入如下脚本代码。 脚本中红色内容请替换为实际的页面名。 //获取当前组件(即button) let _component = context.$component.current; // 配置页面的bpm参数 context.$page.params["bp.name"] = "HW__WorkOrderBpm"; //获取当前行id let id = _component.$attrs.row.id; let taskId = ""; let instanceId = ""; //遍历获取当前行内容 let row = {}; let workorders = $model.ref('workOrderList').getData(); workorders.forEach(function (wo, idx) { if (wo.id == id) { row = wo; instanceId = wo.HW__instanceId__ CS T; } }); //打开处理弹框 context.$dialog.popup({ title: '处理工单', page: 'HW__workOrderProcess', footerHide: false, width: 20, height: 180, okText: '提交', cancelText: '取消', params: { id: id, row: row }, onCancel: function () { }, onOk: function () { let statusInfo = { "statusInfo": $model.ref("statusInfo").getData() }; let taskData = { "action": "complete", "variables": statusInfo }; // 获取csrf token context.$utils.getCSRFToken().then(function (token) { let url = '/u-route/baas/bp/v2.0/query/tasks?flag=activeTask&rootID=' + instanceId; fetch(url, { method: 'GET', headers: { 'Content-Type': 'application/json', 'CSRF-Token': token } }).then(function (resp) { resp.json().then(function (data) { taskId = data.result.Recs[0].id; let url2 = '/u-route/baas/bp/v2.0/runtime/tasks/' + taskId; fetch(url2, { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(taskData) }).then(function (resp) { context.$message.success('处理成功'); $model.ref('queryWorkOrder').setData({ inputParam: {"isFME": true} }); $model.ref('queryWorkOrder').run().then(function (data) { if (data && data.workOrderList) { //将查询到的数据赋值给页面模型来展示 $model.ref('workOrderList').setData(data.workOrderList); } }).catch(function (error) { console.log('error is', error); }); }).catch(function (error) { console.log('error is', error); }); }); }).catch(function (error) { console.log('error is', error); }); }); } }); 单击“创建”,退出事件编排窗口。
  • 定义页面中的事件代码 通过定义页面的on-load事件,可以实现打开页面即自动展示当前工程师的待处理工单。 定义页面事件代码。 在“设计视图”中,选中最外层的“页面”。 在右侧“事件”页签中,单击“加载”后的“+”。 在添加事件弹窗中,输入如下脚本代码。 $model.ref('queryWorkOrder').setData({inputParam: {"isFME": true}}); $model.ref('queryWorkOrder').run().then(function (data) { if (data && data.workOrderList) { //将查询到的数据赋值给页面模型来展示 $model.ref('workOrderList').setData(data.workOrderList); } }).catch(function (error) { console.log('error is', error); }); 单击“创建”,退出事件编排窗口。
  • 实现“按标题查询工单” 通过定义“查询”按钮的“点击”事件,可以实现根据工单标题查询工单的能力。 在“设计视图”中,选中“查询”按钮。 在右侧“事件”页签中,单击“点击”后的“+”。 在添加事件弹窗中,输入如下脚本代码。 let queryTitle = $model.ref('queryCondition').getData().title; $model.ref('queryWorkOrder').setData({ inputParam: { "title": queryTitle, "isFME": true } }); $model.ref('queryWorkOrder').run().then(function (data) { if (data && data.workOrderList) { //将查询到的数据赋值给页面模型来展示 $model.ref('workOrderList').setData(data.workOrderList); } }).catch(function (error) { console.log('error is', error); }); 单击“创建”,退出事件编排窗口。
  • 定义模型并绑定页面组件 页面模型负责与页面组件交互,获取显示工单需要的数据。结合页面展示需求,可知需要创建如下模型: 表2 模型分析 模型名称 作用 详细定义 workOrderList 保存工单的基本信息。 自定义模型,包含的字段节点如下,这些节点与工单对象的字段名称相同,加粗斜体内容请替换为实际命名空间前缀: HW__title__CST:工单标题,字段类型Text。 HW__workOrderId__CST:工单ID,字段类型Text。 HW__priority__CST:工单优先级,字段类型Text。 id:记录ID,字段类型Text。 HW__recoveryTime__CST:要求解决时间,字段类型Text。 HW__faultPhenomenon__CST:现场故障说明,字段类型Text。 HW__status__CST:工单状态,字段类型Text。 HW__instanceId__CST:工单绑定的BPM实例的id,字段类型Text。 HW__arriveTime__CST:要求到达时间,字段类型Text。 isDeal:判断工单状态字段,字段类型Bool。 queryCondition 查询条件。 自定义模型,包含字段节点:title,字段类型Text,与页面上的查询条件对应。 queryWorkOrder 查询工单。 服务模型,绑定公共接口“ queryWorkOrder”,调用查询工单逻辑。 total 保存满足查询条件的记录数,作为Scroll组件滚动显示时的累计记录数。 自定义模型,包含的字段节点如下: currentTotal:当前页显示的数量,字段类型Text。 actualTotal:实际总数量,字段类型Text。 定义模型“workOrderList”。 单击“模型视图”,切换到模型视图。 在模型视图中,单击“新增模型”。 添加自定义模型,模型名称“workOrderList”,单击“下一步”。 单击“新增节点”,依次增加表2中列出的字段名称,单击“下一步”,再单击“确定”。 单击页面上方的,保存模型。 定义模型“queryCondition”。 在“模型视图”中,单击“新增模型”。 添加自定义模型,模型名称“queryCondition”,单击“下一步”。 单击“新增节点”,依次增加表2中列出的字段名称,单击“下一步”,再单击“确定”。 单击页面上方的,保存模型。 定义模型“total”。 在“模型视图”中,单击“新增模型”。 添加自定义模型,模型名称“total”,单击“下一步”。 单击“新增节点”,依次增加表2中列出的字段名称,单击“下一步”,再单击“确定”。 单击页面上方的,保存模型。 定义模型“queryWorkOrder”。 在“模型视图”中,单击“新增模型”。 添加服务模型,模型名称“queryWorkOrder”,单击“下一步”, “服务类型”选择“公共接口”,“选择项目”为“设备维修管理系统”,“搜索”中的接口选择“queryWorkOrder”,单击“下一步”,再单击“确定”。 单击页面上方的,保存模型。 绑定模型“workOrderList”。 单击“设计视图”,从“模型视图”切换到“设计视图”。 选中“列表视图容器”标签中的“列表视图”标签(不要选择列表视图容器),为其绑定“workOrderList”。 图12 绑定数据模型 如图13所示,选中“标题:”后的标签组件label,在右侧“属性”页签,单击“+”,增加属性值绑定,即设置“属性”为“文本内容”,“模型字段”为“workOrderList”下的“HW__title__CST”。 图13 为标签绑定模型 依次为其他标签添加属性值绑定,具体绑定的字段如表3所示。 表3 标签的属性值绑定 所在分栏 第一栏 第二栏 第二栏标签绑定的字段 1 标题: label workOrderList.HW__title__CST 2 单号: label workOrderList.HW__workOrderId__CST 3 状态: label workOrderList.HW__status__CST 4 要求到达时间: label workOrderList.HW__arriveTime__CST 5 要求解决时间: label workOrderList.HW__recoveryTime__CST 6 现场故障说明: label workOrderList.HW__faultPhenomenon__CST 7 优先级: label workOrderList.HW__priority__CST 为“处理”按钮添加属性值绑定,“属性”设置为“禁用”,绑定“workOrderList”的“isDeal”字段,绑定后为“workOrderList.isDeal”。 图14 添加属性值绑定 单击页面上方的,保存设置。 绑定模型“queryCondition”。 选中“请输入工单完整标题”输入框,为其进行值绑定,绑定字段为“queryCondition.title”。 图15 绑定工单标题 单击页面上方的,保存设置。
  • 操作步骤 在“我的应用”中,单击“设备维修管理系统”,进入应用。 鼠标放在“Page”上,单击界面上出现的“+”,在弹出菜单中选择“标准页面”。 在“标签”和“名称”文本框中输入“workOrderProcess”,单击“添加”。 当编辑已有标准页面时,为防止编辑时多人篡改,编辑前请单击进行锁定。 单击页面右上部的,切换到手机端设计模式。 图2 切换手机端设计模式 定义模型“statusInfo”。 在“模型视图”中,单击“新增模型”。 添加自定义模型,模型名称“statusInfo”,单击“下一步”。 单击“新增节点”,为模型添加节点“id”和“HW__status__CST”字段,字段类型都采用默认的Text。单击“下一步”,再单击“确定”,加粗斜体内容请替换为实际命名空间前缀。 单击页面上方的,保存模型。 定义模型“statusOptions”。 在“模型视图”中,单击“新增模型”。 添加服务模型,模型名称“statusOptions”,单击“下一步”, “服务类型”选择“公共接口”,“选择项目”为“设备维修管理系统”,“搜索”中的接口选择“judgeNextStatus”,单击“下一步”,再单击“确定”。 单击页面上方的,保存模型。 拖拽页面组件。 从“模型视图”切换到“设计视图”。 从左侧基本组件列表区中,拖拽1个“表单”到“页面内容”中。 因为当前还没有定义数据源,单击“取消”元数据表单配置向导弹窗,创建一个空的表单控件。 拖拽1个“分栏”到“表单”。 修改“分栏”为1栏(1行1列)。 图3 设置分栏为1行1列 拖拽1个“下拉框”到分栏的“栏”中,然后选中下拉框,在右侧属性面板中,对下拉框进行以下配置。 添加值绑定。 单击“数据绑定”下“值绑定”的,在弹窗中选择“ statusInfo”下的“HW__status__CST”字段。 添加属性值绑定。 单击“属性值绑定”的“+”,设置“属性”为“选项”,“模型字段”为“statusOptions”下“outputParam”节点的“statusList”。 图4 属性值绑定 修改“标签”为“选择下一步操作”,并设置“选项”为“user1,user1”、“user2,user2”。 图5 设置选项值 单击页面上方的,保存设置。 定义页面事件代码。 在“设计视图”中,选中最外层的“页面”。 在右侧“事件”页签中,单击“加载”后的“+”。 在添加动作弹窗中,输入如下事件代码。 let id = Page.params.id; $model.ref("statusInfo").setData({ "id": id }); $model.ref('statusOptions').setData({ inputParam: { "id": id } }); $model.ref('statusOptions').run(); 单击“创建”,退出事件编排窗口。 单击页面上方的,保存页面。
  • 页面模型分析 页面模型负责与页面组件交互,传递处理工单需要的工单ID、工单状态等信息。结合页面需求,“处理工单”对话框页面,需要创建如下模型: 表1 模型分析 模型名称 作用 详细定义 statusInfo 保存派单的参数。 自定义模型,包含的计算节点如下,这些节点与派单接口的输入参数名称一一对应。 id:工单ID HW__status__CST:下一环节状态 须知: 加粗斜体内容请替换为实际命名空间前缀。 statusOptions 判断下一步状态。 服务模型,绑定公共接口“judgeNextStatus”,调用“judgeNextStatus”脚本,判断下一步状态。
  • 账号权限要求 当使用DRS将其他云MySQL数据库的数据迁移到华为云云数据库 GaussDB (for MySQL)实例时,在不同迁移类型的情况下,对源数据库的账号权限要求如下: 表1 迁移账号权限 迁移类型 全量迁移 全量+增量迁移 源数据库(MySQL) SELECT、SHOW VIEW、EVENT。 SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 MySQL的相关授权操作可参考操作指导。
  • 资源规划 表1 资源规划 类别 子类 规划 备注 VPC VPC名称 vpc-DRStest 自定义,易理解可识别。 所属Region 华北-北京四 选择和自己业务区最近的Region,减少网络时延。 可用区 可用区1 - 子网网段 10.0.0.0/24 子网选择时建议预留足够的网络资源。 子网名称 subnet-drs01 自定义,易理解可识别。 其他云MySQL 数据库版本 MySQL 5.7 - IP地址 10.154.217.42 仅作为示例。 端口 3306 - GaussDB(for MySQL)实例 实例名称 gauss-drstar 自定义,易理解可识别。 数据库版本 MySQL 8.0 - 可用区类型 单可用区 本示例中为单可用区。 实际使用时,为提升业务可靠性,推荐选择多可用区。 可用区 可用区一 本示例中为可用区一。 实际业务场景推荐选择多可用区,此时建议将实例创建在不同的可用区,提升业务可靠性。 性能规格 独享型 4 vCPUs | 16 GB - DRS迁移任务 迁移任务名 DRS-test-migrate 自定义。 源数据库引擎 MySQL - 目标数据库引擎 GaussDB(for MySQL) - 网络类型 公网网络 本示例中采用公网网络。 父主题: 其他云MySQL迁移到GaussDB(for MySQL)
  • 初始化磁盘 执行如下命令,创建mysql文件夹。 mkdir /mysql 执行如下命令,查看数据盘信息。 fdisk -l 回显如下: 执行如下命令,初始化数据盘。 mkfs.ext4 /dev/vdb 执行如下命令,挂载磁盘。 mount /dev/vdb /mysql 执行如下命令,查看磁盘是否挂载成功。 df -h 当显示如下回显时,表示挂载成功。 依次执行如下命令,创建文件夹并切换至install文件夹。 mkdir -p /mysql/install/data mkdir -p /mysql/install/tmp mkdir -p /mysql/install/file mkdir -p /mysql/install/log cd /mysql/install 下载并安装社区版MySQL,详情请参见如何下载并安装MySQL客户端。 执行如下命令,初始化mysql。 /mysql/install/mysql-8.0.22/bin/mysqld --defaults-file= /etc/my.cnf --initialize-insecure 执行如下命令,启动MySQL。 nohup /mysql/install/mysql-8.0.22/bin/mysqld --defaults-file= /etc/my.cnf & 执行如下命令,连接MySQL。 /mysql/install/mysql-8.0.22/bin/mysql 执行如下命令,创建root用户并授权。 grant all privileges on *.* to 'root'@'%' identified by 'xxx' with grant option;FLUSH PRIVILEGES;
  • 操作步骤 卸载旧版connector,注意软件包名使用的是下划线”_”。 zypper remove sap_suse_cluster_connector 安装新版connector,注意软件包名使用的是横线”-”。 zypper install sap-suse-cluster-connector 获取新安装的sap-suse-cluster-connector软件包版本信息。 /usr/bin/sap_suse_cluster_connector gvi --out version 执行以下命令,查看version文件,确认connector版本号不低于3.1.0。 cat /usr/bin/version
  • 语法 LOAD DATA LOCAL INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name [CHARACTER SET charset_name] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] ] [LINES [TERMINATED BY 'string'] ] [IGNORE number {LINES | ROWS}] [(col_name_or_user_var [, col_name_or_user_var] ...)]
  • 参数 file_name :要导入的本地文件的路径。 REPLACE | IGNORE : 指定遇到重复记录是替换还是忽略。 tbl_name :要导入的目标表名。 CHARACTER SET charset_name : 指定文件的编码,建议和GaussDB(for MySQL)实例上的编码一致,否则可能乱码。 FIELDS TERMINATED BY 'string' : 用来指定每列之间的分割符号,默认值为 \t 。 [OPTIONALLY] ENCLOSED BY 'char' : 用来忽略数据源字段中的符号。 LINES TERMINATED BY 'string' :可以指定行之间的换行符,默认值为 \n 。 有些windows上的文本文件的换行符可能为\r\n,由于是不可见字符,请仔细检查。
  • StarRocks简介 StarRocks是一款高性能分析型 数据仓库 ,使用向量化、MPP架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。 StarRocks既支持从各类实时和离线的数据源高效导入数据,也支持直接分析 数据湖 上各种格式的数据。 StarRocks兼容MySQL协议,可使用MySQL客户端和常用BI工具对接进行数据分析,同时StarRocks具备水平扩展、高可用、高可靠、易运维等特性,广泛应用于实时数仓、OLAP报表、数据湖分析等场景。 更多相关介绍请参见StarRocks。 该组件当前为公测阶段,若需使用需联系技术支持申请白名单开通。
  • StarRocks基本概念 在StarRocks中,数据都以表(Table)的形式进行逻辑上的描述。 StarRocks中的表由行和列构成,每行数据对应用户一条记录,每列数据具有相同的数据类型。所有数据行的列数相同,可以动态增删列。在StarRocks中,一张表的列可以分为维度列(也称为Key列)和指标列(也称为Value列),维度列用于分组和排序,指标列的值可以通过聚合函数sum、count、min、max、hll_union_agg和bitmap_union等累加起来。 列式存储 在StarRocks中,表数据按列存储。物理上,一列数据会经过分块编码、压缩等操作,然后持久化存储到非易失设备上。但在逻辑上,一列数据可以看成是由相同类型的元素构成的一个数组, 一行数据的所有列值在各自的数组中按照列顺序排列,即拥有相同的数组下标。数组下标是隐式的,不需要存储。表中所有的行按照维度列,做多重排序,排序后的位置就是该行的行号。 索引 StarRocks通过前缀索引 (Prefix Index) 和列级索引,能够快速找到目标行所在数据块的起始行号。 加速处理 StarRocks通过预先聚合、分区分桶、物化视图、列级索引等机制实现数据的加速处理。 数据模型 StarRocks支持四种数据模型,分别是明细模型(Duplicate Key Model)、聚合模型(Aggregate Key Model)、更新模型(Unique Key Model)和主键模型(Primary Key Model)。 这四种数据模型能够支持多种数据分析场景,例如 日志分析 、数据汇总分析、实时分析等。创建表时,您需要指定数据模型(Data Model),当数据导入至数据模型时,StarRocks会按照排序键对数据进行排序、处理和存储。四种数据模型介绍如下: 明细模型 明细模型是StarRocks默认的建表模型。如果在建表时未指定任何模型,默认创建明细类型的表。 聚合模型 建表时,支持定义排序键和指标列,并为指标列指定聚合函数。当多条数据具有相同的排序键时,指标列会进行聚合。在分析统计和汇总数据时,聚合模型能够减少查询时所需要处理的数据,提升查询效率。 更新模型 建表时,支持定义主键和指标列,查询时返回主键相同的一组数据中的最新数据。相对于明细模型,更新模型简化了数据导入流程,能够更好地支撑实时和频繁更新的场景。 主键模型 主键模型支持分别定义主键和排序键。数据导入至主键模型的表中时,先按照排序键排序后再存储。查询时返回主键相同的一组数据中的最新数据。相对于更新模型,主键模型在查询时不需要执行聚合操作,并且支持谓词和索引下推,能够在支持实时和频繁更新等场景的同时,提供高效查询。 数据分布 建表时,您可以通过设置合理的分区和分桶,实现数据均匀分布和查询性能提升。数据均匀分布是指数据按照一定规则划分为子集,并且均衡地分布在不同节点上。查询时能够有效裁剪数据扫描量,最大限度地利用集群的并发性能,从而提升查询性能。
  • StarRocks架构 StarRocks整体架构如下图所示,FE和BE节点可以水平无限扩展。 图1 StarRocks架构 表1 StarRocks节点及角色说明 名称 说明 Client Application StarRocks兼容MySQL协议,支持标准SQL语法,用户可通过各类MySQL客户端和常用BI工具对接。 FE StarRocks的前端节点,主要负责管理元数据、管理客户端连接、进行查询规划、查询调度等工作。 BE StarRocks的后端节点,主要负责数据存储和SQL计算等工作。 Leader Leader从Follower中自动选出,FE Leader提供元数据读写服务,Follower和Observer只有读取权限,无写入权限。 Follower Follower只有元数据读取权限,无写入权限,Follower参与Leader选举。 Observer Observer主要用于扩展集群的查询并发能力,可选部署。Observer不参与选主,不会增加集群的选主压力。
  • CDL简介 CDL(全称Change Data Loader)是一个基于Kafka Connect框架的实时数据集成服务。 CDL服务能够从各种OLTP数据库中捕获数据库的Data Change事件,并推送到kafka,再由sink connector推送到大数据生态系统中。 CDL目前支持的数据源有MySQL、PostgreSQL、Hudi、Kafka、ThirdParty-Kafka,目标端支持写入Kafka、Hudi、DWS以及ClickHouse。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 请求体参数类型,该字段必须设置为:application/json;charset=utf8 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表3 请求Body参数 参数 是否必选 参数类型 描述 app_id 是 String 应用主键ID,参考表5 响应SmsAppQueryResp参数中的id apply_desc 否 String 申请说明 file_id 否 String 营业执照文件ID,表5的file_id is_involved_third 是 String 是否涉及第三方权益 Yes:是 No:否 power_attorney_fileid 否 String 授权委托书文件ID,表5的file_id signature_name 是 String 签名名称 signature_source 是 Integer 签名来源。支持枚举值: 0:企事业单位的全称或简称 1:工信部备案网站的全称或简称 2: APP应用的全称或简称 3:公众号或小程序的全称或简称 4:电商平台店铺名的全称或简称 5:商标名的全称或简称 signature_type 是 String 签名类型。支持枚举值: VERIFY_CODE_TYPE:验证码类 PROMOTION_TYPE:推广类 NOTIFY_TYPE:通知类 source_title_content 否 String 签名来源标题内容
  • 请求示例 修改短信签名详情,请求方式:PUT,请求URL:/v2/{project_id}/msgsms/signatures/{id},路径参数:id,project_id,请求头参数:X-Auth-Token,Content-Type;请求体参数:app_id,is_involved_third,signature_name,signature_source,signature_type。 PUT /v2/845ada5bc7444f1295cd517af0123da1/msgsms/signatures/eb55ddeb-76f3-4e07-94f4-9af775f8a9a7 Host: 100.85.***.***:30300 Content-Type: application/json X-Auth-Token:****** Content-Length: 245 { "app_id":"******9c-1a6b-4ee5-9651-5bca450694b3", "apply_desc":"test", "file_id":"******93-e9e4-4fa9-b9eb-6424f4974c4b", "is_involved_third":"No", "signature_name":"auto_test789", "signature_source":"0", "signature_type":"NOTIFY_TYPE" }
  • 响应示例 { "results": [ { "create_time": "2022-08-12 07:14:18", "customer_id": "******c55c3c4526b2ed7a0213bc9871", "id": "******bb-d48c-4c4d-b3da-baa8e4664852", "signature_name": "auto_test789", "signature_id": "******d1-196f-495f-abbe-42240469b8fc", "signature_type": "NOTIFY_TYPE", "app_name": "auto_test7890", "apply_desc": "test", "channel_num": "******1733968", "file_id": "******ab-1390-4268-9463-73db98cdc2e1", "status": "PENDING_REVIEW", "site": "cn", "signature_source": 0, "is_involved_third": "No", "urge_status": "NO", "app_key": "******3baZf4c856O4Qrbqvui3K2", "signature_usage": "COMMERCIAL" } ], "total": 1 }
  • 请求示例 查询签名信息,返回签名信息,请求方式:GET,请求URI:/v2/{project_id}/msgsms/signatures,路径参数id,project_id;Query参数:limit(分页大小),offset(数据偏移量),app_name(应用名称)。 GET /v2/845ada5bc7444f1295cd517af0123da1/msgsms/signatures?signature_name=auto_test789 HTTP/1.1 Host: 100.85.***.***:30300 Content-Type: application/json X-Auth-Token:******
  • URI GET /v2/{project_id}/msgsms/signatures 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,参考“获取帐号、用户、项目的名称和ID” 表2 Query参数 参数 是否必选 参数类型 描述 app_name 否 String 应用名称 end_time 否 String 结束时间 limit 否 Integer 数量,默认值10 offset 否 Integer 偏移量 signature_id 否 String 签名ID signature_name 否 String 签名名称 signature_type 否 String 签名类型 VERIFY_CODE_TYPE:验证码类 PROMOTION_TYPE:推广类 NOTIFY_TYPE:通知类 site 否 String 地域,取值范围:cn及hk ,当前该参数暂时不使用 sort_dir 否 String 排序方式 desc:降序 asc:升序 sort_key 否 String 排序字段,仅支持create_time start_time 否 String 开始时间 status 否 String 状态 PENDING_REVIEW:待审核 PRO CES SING: 内容审核 通过,签名处理中 REVIEW_PASSED:处理完毕 REVIEW_NOT_PASS:审核不通过 TO_BE_ACTIVATED:待激活 PENDING_ACTIVATE:激活审核中
  • 响应参数 状态码: 200 表4 响应Body参数 参数 是否必选 参数类型 描述 results 否 Array of SmsSignatureResp 查询结果 total 否 Long 总数 表5 响应SmsSignatureResp参数 参数 是否必选 参数类型 描述 id 否 String 签名主键ID,用于获取、修改、删除、申请激活签名的唯一标识 create_time 否 String 创建时间[yyyy-MM-dd HH:mm:ss] update_time 否 String 更新时间[yyyy-MM-dd HH:mm:ss] customer_id 否 String 租户customer id tenant 否 表6 TentantBasic - signature_name 否 String 签名名称 signature_id 否 String 签名ID signature_type 否 String 签名类型 app_name 否 String 应用名称 apply_desc 否 String 申请描述 channel_num 否 String 国内短信通道号,仅当签名审核成功,运营人员配置完成后返回。 review_desc 否 String 审核意见 file_id 否 String 文件ID status 否 String 签名状态 site 否 String 地域,取值范围:cn及hk ,当前该参数暂时不使用 signature_source 否 Integer 签名来源 is_involved_third 否 String 是否涉及第三方权益 power_attorney_file_id 否 String 授权委托书文件ID urge_status 否 String 催审状态 urge_time 否 String 催审时间 urge_desc 否 String 催审描述 app_key 否 String 应用key source_title_content 否 String 标题内容 signature_usage 否 String 签名用途 表6 TentantBasic 参数 是否必选 参数类型 描述 customer_id 否 String 租户customer id customer_name 否 String 租户customer name enterprise_name 否 String 租户企业名称
  • 请求示例 创建短信签名,请求方式POST,请求URI:/v2/{project_id}/msgsms/signatures,路径参数:project_id,请求头参数:X-Auth-Token,Content-Type;请求体参数:app_id,is_involved_third,signature_name,signature_source,signature_type。 POST /v2/845ada5bc7444f1295cd517af0123da1/msgsms/signatures Host: 100.85.***.***:30300 Content-Type: application/json X-Auth-Token:****** Content-Length: 245 { "app_id":"******9c-1a6b-4ee5-9651-5bca450694b3", "apply_desc":"test", "file_id":"******ab-1390-4268-9463-73db98cdc2e1", "is_involved_third":"No", "signature_name":"auto_test789", "signature_source":"0", "signature_type":"NOTIFY_TYPE" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 请求体参数类型,该字段必须设置为:application/json;charset=utf8 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 表3 请求Body参数 参数 是否必选 参数类型 描述 app_id 是 String 应用主键ID,参考表5 响应SmsAppQueryResp参数中的ID apply_desc 否 String 申请说明 file_id 否 String 营业执照文件ID,表5的file_id is_involved_third 是 String 是否涉及第三方权益 yes:是 no:否 power_attorney_fileid 否 String 授权委托书文件ID,表5的file_id signature_name 是 String 签名名称 signature_source 是 Integer 签名来源。支持枚举值: 0:企事业单位的全称或简称 1:工信部备案网站的全称或简称 2: APP应用的全称或简称 3:公众号或小程序的全称或简称 4:电商平台店铺名的全称或简称 5:商标名的全称或简称 signature_type 是 String 签名类型。支持枚举值: VERIFY_CODE_TYPE:验证码类 PROMOTION_TYPE:推广类 NOTIFY_TYPE:通知类 source_title_content 否 String 签名来源标题内容
  • 请求示例 获取签名详情,请求方式:GET,请求URL:/v2/{project_id}/msgsms/signatures/{id},路径参数:id,project_id,请求头参数:X-Auth-Token,Content-Type。 GET /v2/845ada5bc7444f1295cd517af0123da1/msgsms/signatures/07cfacbb-d48c-4c4d-b3da-baa8e4664852 Host: 100.85.***.***:30300 Content-Type: application/json X-Auth-Token:******
  • 响应示例 { "create_time": "2022-08-12 07:14:18", "customer_id": "******c55c3c4526b2ed7a0213bc9871", "id": "******bb-d48c-4c4d-b3da-baa8e4664852", "signature_name": "auto_test789", "signature_id": "******1-196f-495f-abbe-42240469b8fc", "signature_type": "NOTIFY_TYPE", "app_name": "auto_test7890", "apply_desc": "test", "channel_num": "******1733968", "file_id": "******ab-1390-4268-9463-73db98cdc2e1", "status": "PENDING_REVIEW", "signature_source": 0, "is_involved_third": "No", "urge_status": "NO", "app_key": "******3baZf4c856O4Qrbqvui3K2", "signature_usage": "COMMERCIAL" }
  • 响应参数 状态码: 200 表3 响应SmsSignatureResp参数 参数 是否必选 参数类型 描述 id 否 String 签名主键ID,用于获取、修改、删除、申请激活签名的唯一标识 create_time 否 String 创建时间[yyyy-MM-dd HH:mm:ss] update_time 否 String 更新时间[yyyy-MM-dd HH:mm:ss] customer_id 否 String 租户customer ID tentant 否 表4 TenantBasic - signature_name 否 String 签名名称 signature_id 否 String 签名ID signature_type 否 String 签名类型 app_name 否 String 应用名称 apply_desc 否 String 申请描述 channel_num 否 String 国内短信通道号,仅当签名审核成功,运营人员配置完成后返回。 review_desc 否 String 审核意见 file_id 否 String 文件ID status 否 String 状态 PENDING_REVIEW:待审核 PROCESSING:内容审核通过,签名处理中 REVIEW_PASSED:处理完毕 REVIEW_NOT_PASS:审核不通过 TO_BE_ACTIVATED:待激活 PENDING_ACTIVATE:激活审核中 site 否 String 地域,取值范围:cn及hk ,当前该参数暂时不使用 signature_source 否 Integer 签名来源 is_involved_third 否 String 是否涉及第三方权益 power_attorney_file_id 否 String 授权委托书文件ID urge_status 否 String 催审说明 urge_time 否 String 催审时间 urge_desc 否 String 催审描述 app_key 否 String 应用key source_title_content 否 String 标题内容 signature_usage 否 String 签名用途 表4 TenantBasic 参数 是否必填 参数类型 描述 customer_id 否 String 租户custom id customer_name 否 String 租户custom name enterprise_name 否 String 租户企业名称
  • 不同关联模式的客户退订后钱退至哪里?什么时候到账? 退款仅指客户以现金或储值卡方式支付的订单金额,客户通过代金券、优惠券抵扣的部分是否退回请参见用券买的产品,退订时券怎么处理? 客户对云服务资源退订、降配或即时转按需产生退款后,退还路径因子客户的关联模式而略有不同。 客户 支付方式 关联期间 解除关联后 切换关联关系后 到账时间 顾问销售客户 在线支付、余额支付 退还至客户账户。 退还至客户账户。 顾问销售切换成代售,退款金额退还至客户账户上,客户可以申请提现。 余额支付 退订款项大约会在1个工作日内退还至华为云账户余额。 在线支付 退订款项大约会在7个工作日内原路退回,实际退款到账时间以银行系统为准。 合作伙伴代付(仅解决方案提供商的顾问销售客户) 退还至伙伴账户。 退还至伙伴账户 ,客户需自行与伙伴协商处理。 顾问销售切换成代售,退款金额退还至伙伴账户上,客户需自行与伙伴协商处理。 退款款项大约会在1个工作日内返还至合作伙伴华为云账户 代售客户 余额支付 退还至客户账户。 退还至伙伴账户 ,客户需自行与伙伴协商处理。 代售切换成顾问销售,退款金额退还至伙伴账户上,客户需自行与伙伴协商处理。 关联期间退款款项大约会在1个工作日内返还至客户华为云账户; 解除或切换关联后退款款项大约会在1个工作日内返还至合作伙伴华为云账户。 合作伙伴代付 退还至伙伴账户。 退还至伙伴账户 ,客户需自行与伙伴协商处理。 代售切换成顾问销售,退款金额退还至伙伴账户上,客户需自行与伙伴协商处理。 退款款项大约会在1个工作日内返还至合作伙伴华为云账户 父主题: 经销商子客户
共100000条