华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数解释:租户Token。用于调用接口的认证。获取方法,请参见认证鉴权。 约束限制:不涉及。 取值范围:长度不超过65534个字符。 默认取值:不涉及。 表3 请求Body参数 参数 是否必选 参数类型 描述 tags 否 Array of DeleteResourceTag objects 参数解释:批量删除请求体标签列表。 约束限制:不涉及。 取值范围:[1,20]。 默认取值:不涉及。 sys_tags 否 Array of DeleteResourceTag objects 参数解释:批量删除请求体系统标签列表。 约束限制:不涉及。 取值范围:1。 默认取值:不涉及。 表4 DeleteResourceTag 参数 是否必选 参数类型 描述 key 是 String 参数解释:键。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 value 否 String 参数解释:值。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。
  • URI POST https://localhost.com/v1/{project_id}/fabric-workspace/{workspace_id}/tags/delete 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数解释:项目ID。获取方法,请参见获取项目ID。 约束限制:不涉及。 取值范围:长度为[1,36]的英文字符、数字和中划线(-)的组合。 默认取值:不涉及。 workspace_id 是 String 参数解释:工作空间ID。获取方法,请参见获取工作空间ID。 约束限制:不涉及。 取值范围:长度为[1,36]的英文字符、数字和中划线(-)的组合。 默认取值:不涉及。
  • 响应示例 状态码:400 BadRequest { "error_code" : "common.01000001", "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException" } 状态码:401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码:403 Forbidden { "error" : { "code" : "403", "message" : "X-Auth-Token is invalid in the request", "title" : "Forbidden" }, "error_code" : 403, "error_msg" : "X-Auth-Token is invalid in the request", "title" : "Forbidden" } 状态码:404 NotFound { "error_code" : "common.01000001", "error_msg" : "response status exception, code: 404" } 状态码:408 Request Time-out { "error_code" : "common.00000408", "error_msg" : "timeout exception occurred" } 状态码:500 InternalServerError { "error_code" : "common.00000500", "error_msg" : "internal error" }
  • 请求示例 请求批量添加资源的标签,具体请求实例如下。 POST https://{endpoint}/v1/{project_id}/fabric-workspace/{workspace_id}/tags/create { "tags" : [ { "key" : "key1", "value" : "value1" } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "value" : "01049549-82cd-4b2b-9733-ddb94350c125" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数解释:租户Token。用于调用接口的认证。获取方法,请参见认证鉴权。 约束限制:不涉及。 取值范围:长度不超过65534个字符。 默认取值:不涉及。 表3 请求Body参数 参数 是否必选 参数类型 描述 tags 否 Array of ResourceTag objects 参数解释:标签列表。 约束限制:不涉及。 取值范围:[1,20]。 默认取值:不涉及。 sys_tags 否 Array of SystemTag objects 参数解释:系统标签列表。 约束限制:不涉及。 取值范围:1。 默认取值:不涉及。 表4 ResourceTag 参数 是否必选 参数类型 描述 key 是 String 参数解释:资源标签的键。 约束限制:不涉及。 取值范围:长度1到128的多语言字母、空格、制表符、数字、下划线(_)、点(.)、冒号(:)、斜杠()、等号(=)、加号(+)、减号(-)、@符号(@)组合。 默认取值:不涉及。 value 否 String 参数解释:资源标签的值。 约束限制:不涉及。 取值范围:长度0到255的多语言字母、空格、制表符、数字、下划线(_)、点(.)、冒号(:)、斜杠()、等号(=)、加号(+)、减号(-)、@符号(@)组合。 默认取值:不涉及。 表5 SystemTag 参数 是否必选 参数类型 描述 key 是 String 参数解释:键。 约束限制:固定值。 取值范围:不涉及。 默认取值:不涉及。 value 是 String 参数解释:企业项目ID。获取方法,请参见获取企业项目ID。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。
  • 响应参数 状态码:204 表6 响应Body参数 参数 参数类型 描述 - AnyType OK 状态码:400 表7 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:不涉及。 取值范围:长度为[8,36]个字符。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:不涉及。 取值范围:长度为[2,512]个字符。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度为[0,4096]个字符。 默认取值:不涉及。 状态码:401 表8 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:不涉及。 取值范围:长度为[8,36]个字符。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:不涉及。 取值范围:长度为[2,512]个字符。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度为[0,4096]个字符。 默认取值:不涉及。 状态码:404 表9 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:不涉及。 取值范围:长度为[8,36]个字符。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:不涉及。 取值范围:长度为[2,512]个字符。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度为[0,4096]个字符。 默认取值:不涉及。 状态码:408 表10 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:不涉及。 取值范围:长度为[8,36]个字符。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:不涉及。 取值范围:长度为[2,512]个字符。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度为[0,4096]个字符。 默认取值:不涉及。 状态码:500 表11 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:不涉及。 取值范围:长度为[8,36]个字符。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:不涉及。 取值范围:长度为[2,512]个字符。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:不涉及。 取值范围:长度为[0,4096]个字符。 默认取值:不涉及。
  • URI POST https://localhost.com/v1/{project_id}/fabric-workspace/{workspace_id}/tags/create 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数解释:项目ID。获取方法,请参见获取项目ID。 约束限制:不涉及。 取值范围:长度为[1,36]的英文字符、数字和中划线(-)的组合。 默认取值:不涉及。 workspace_id 是 String 参数解释:工作空间ID。获取方法,请参见获取工作空间ID。 约束限制:不涉及。 取值范围:长度为[1,36]的英文字符、数字和中划线(-)的组合。 默认取值:不涉及。
  • 配置流程 配置流程图如图1所示。 图1 DSC配置流程图 使用 数据安全中心 前,须先开通并使用OBS或RDS云产品中任意一种,确保有可供数据安全中心扫描的数据。 开通数据安全中心后,数据安全中心服务将自动检测用户的云上授权资产,并应用敏感规则对其进行风险等级的评价。您可以在数据安全中心控制台资产地图页面查看文件风险概况和文件详情。 (可选)如需保护OBS自有桶数据,则需要开通华为云 对象存储服务 (OBS)/关系型数据库(RDS)服务。 如果已开通,请跳过该步骤,直接执行2。 如果未开通,请先开通后再执行2。 开通对象存储服务请参见OBS帮助文档,开通关系型数据库服务请参见RDS帮助文档。 (可选)开通后,还需要在对象存储服务中创建一个桶并上传需要存储的文件或在关系型数据库中创建实例数据库。 如果已创建,请跳过该步骤,直接执行6。 如果未创建,请先创建后再执行6。 OBS:创建桶详细操作请参见创建桶,上传文件详细操作请参见上传对象。 RDS:创建数据库详细操作请参见创建数据库。 (可选)如需保护OBS其他桶,则需要将OBS其他桶的“桶权限”设置为“公共”。 (可选)如需保护自建数据库资产,则需要获取自建数据库的引擎、版本、主机等相关信息。 (可选)如需保护自建数据库资产,则需要获取其他自建数据源的引擎、版本、主机等相关信息。 完成资产委托授权并授权资产。 授权的具体操作请参见云资源委托授权/停止授权。 添加OBS资产的具体操作请参见添加OBS资产。 授权数据库资产的具体操作请参见授权数据库资产。 授权大数据资产的具体操作请参见授权大数据资产。 授权LTS资产的具体操作请参见添加日志流。 配置敏感数据识别规则。 配置敏感规则详细操作请参见敏感数据识别。 查看检测到的敏感数据或文件及其统计数据。 检测结果具体查看方法请参见识别结果。 针对检测出的结果,对异常事件处理或对敏感数据进行脱敏。 异常事件处理详细操作请参见处理异常事件。 敏感数据脱敏详细操作请参见数据脱敏。 针对异常事件设置告警通知。 配置告警通知的详细操作请参见告警通知。
  • 时间轴设置 创建动态图后,在“图管理”页面,单击动态图“操作”列的“访问”按钮,进入图引擎编辑器。 在编辑器内,页面会弹出“时间轴设置”框,需要您设置以下参数: 这里设置的参数会同步设置群体演化和动态拓展模块内的参数。 开始时间属性值:用您导入或创建的元数据的属性作为动态图开始时间的属性名称,默认为startime,属性为date或long、int类型。 时间轴开始时间:动态分析图的开始时间(start),开始时间必须要小于等于结束时间。 结束时间属性值:用您导入或创建的元数据的属性作为动态图结束时间的属性名称,默认为endtime,属性为date或long、int类型。 时间轴结束时间:动态分析图的结束时间(end)。 更多设置:包括“默认设置”或“自定义”。 默认:选择系统设定的默认值。 自定义:包含参数“点边可视持续时间”。 点边可视持续时间:画布上算法结果点边可视化的持续时间,当前仅对动态拓展(Temporal BFS)有效,默认值:604800(7天,时间戳类型,单位为秒)。 该选项针对算法返回的点边数据只有开始时间的数据。 图1 时间轴设置框 完成设置后,单击“确认”。 如果您想修改以上参数,单击画布左下方进行设置。
  • 图引擎编辑器介绍 编辑器页面分为图分析区(包括探索区、操作区、元数据区、算法区、索引区)、绘图区、查询区、结果展示区、条件过滤及属性区。 图1 编辑器页面 表1 区域说明 区 域名 称 说明 探索区 提供图相关工具来探索图(例如:路经拓展),具体功能介绍请参考图探索功能。 操作区 通过调用API的方式来添加自定义操作。具体功能介绍请参考添加自定义操作。 元数据区 可以对元数据进行操作(如添加、隐藏、导入或导出等)。具体功能介绍请参考Schema编辑。 算法区 显示了GES服务支持的所有算法,且可在此区域设置各算法相关的属性。完整算法区功能介绍如表2所示。 说明: 算法区选择算法,执行后,画布区将展示包含关键结果的采样子图,对应的执行结果非完整结果。想获取完整返回结果请通过调用API获取。 索引区 图访问界面增加索引管理功能,方便您在界面进行索引增删查操作。 绘图区 图数据的可视化展示区。绘图区预置了快捷操作,方便您对图数据进行分析。 绘图区详细功能介绍如表3所示。 图数据查询区 可以输入Gremlin查询语句执行查询操作。 可以输入Cypher查询语句执行查询操作。 可以输入DSL查询语句执行查询操作。 结果展示区 包含如下两个页签: 运行记录:具体介绍请参考查看运行记录 查询结果:具体介绍请参考查看查询结果 条件过滤及属性区 在绘图区,可以选中一个点,单击右键,选择“查看属性”,显示该页面。 包含如下三个页签: 条件过滤页签可以设置条件属性,对图数据进行筛选分析。具体介绍请参考条件过滤。 属性页签展示选中点或边的属性信息。 统计信息展示页签会显示出当前所框选的点边对应的标签和节点权重的数量。具体介绍请参考统计信息展示。 持久化版的图有如下限制: 没有算法区。 元数据区不支持添加Label。 无操作区功能(不支持添加自定义操作)。 图数据查询区,只有cypher查询,不支持gremlin查询。 图2 算法区 表2 算法区介绍 界面元素 说明 输入算法名称,快速查找对应的算法。 展开算法的参数配置区域。 运行算法。 算法的属性设置区域。每个算法的属性不同,详细信息请参考算法介绍。 图3 绘图区 表3 绘图区介绍 界面元素 说明 第1行: 13表示当前图上的点数据,886813表示整张图的所有点数据。 第2行: 9表示当前图上的边数据,892773表示整张图所有边的数据。 孤立点是指和其余点没有关联,在画布中独立存在的点。 框选内孤立点:框选(Shift+ 鼠标左键拖动)画布中的点,单击该按钮可查看框选范围内的所有孤立点。 画布内全量孤立点:直接单击该按钮,可显示画布中所有的孤立点。 选中画布中任意一个非孤立点,单击该按钮可查看与当前选中点有关联的所有点。 撤销前一步操作。 恢复被撤销的前一步操作。 选择显示“全图数据”或“当前数据”。 “全图数据”是图的所有数据。 “当前数据”是当前在画布上渲染出来的数据。 可以切换图引擎编辑器的主题,支持浅色、深色和跟随系统三种主题。 选择了“全图数据”或者“当前数据”,在搜索框里输入节点ID,按回车或者单击查询图标,可快捷搜索出对应的点数据并渲染到图展示区域。 说明: 当前只支持单个顶点ID的输入。 选择“当前数据”搜索,当前画布存在点会高亮显示出来。 单击“清空画布”,清除画布所有内容。 将画布内容导出,支持导出为txt格式(当前画布的点边文件)。 快捷键。 Ctrl+E(选择画布中与当前已选中点关联的点和边)。 +(放大画布)。 -(缩小画布)。 Ctrl+Z (撤销输入框内的上一步输入)。 Ctrl+A(画布内容全选)。 Ctrl+Delete(清空画布)。 Delete(快捷隐藏点)。 Ctrl+单击(多选单击的点和边)。 快照,用户可以快速保存和恢复画布当前所展示的图。具体功能介绍请参考快照。 放大图,最大放大至6倍。 缩小图,最小缩小至0.05倍。 适配当前屏幕。 当界面中展示的点边与当前操作的浏览器窗口大小失调时,单击此按钮,可快速自动适配窗口大小。 快速切换布局。从左往右分别为:圆形布局、网格布局、核心单节点布局、分层布局、自动分群布局、核心双节点布局。展示效果如图 圆形布局展示效果所示。 说明: 核心双节点布局必须要选中两个点才可以生效。 当画布中有图数据时,单击图数据内容,可根据需要选择图数据的颜色和大小。 点详情弹窗。把鼠标移动到想要查看的非虚化节点上,会自动显示出该节点的id、label,属性等信息。 说明: 弹窗最多能显示节点的6个属性。当该节点的属性大于6个时,您可以到条件过滤及属性区查看该节点的完整属性信息。 绘图区快捷键操作 框选:Shift+ 鼠标左键拖动 框选区域内所有点边,效果如下所示。 多选:Ctrl+ 鼠标左键拖动 框选区域内所有点边被选中并高亮,效果如下所示。 正选/反选:Ctrl + 鼠标左键 ctrl+鼠标左键选中点或者边,可以选中并高亮,按住ctrl键再次单击选中点或者边,可以取消选中并去除高亮状态。 全选:Ctrl + A 选中所有点和边,并高亮。 选择关联点边:Ctrl + E 选中点之后按ctrl+E,可以将有关系的点和边选中高亮。 隐藏:Delete 选中点或边,按Delete,可以快捷隐藏点或者边。 适配:Ctrl + F 根据当前屏幕宽度和高度自动缩放所有点和边。 缩小:- 键盘对应 - 键,缩小当前画布显示。 放大:=(+) 键盘对应 + 键,放大当前画布展示。 取消选中:Esc 所有选中的点和边取消选中,高亮状态消失。 放大缩小:滑动鼠标滚轮 滑动鼠标滚轮可以放大缩小画布显示。 图4 圆形布局展示效果 图5 网格布局展示效果 图6 核心单节点布局展示效果 图7 分层布局展示效果 图8 自动分群布局展示效果 图9 核心双节点布局展示效果 父主题: 访问图和分析图
  • 图管理简介 在“图管理”页面,您可以查看图的名称,运行状态,内网访问地址,公网访问地址,计费模式,创建时间。 “内网访问地址”可单击查看,该地址是访问图实例的浮动IP,通过单击该IP地址您可以查看访问图实例的物理IP列表。为了防止浮动IP切换造成业务闪断,推荐您通过轮询的方式使用物理IP访问图实例。 方式1:单击“图名称”前的 ,页面下方将会显示该图的信息,包括“图ID”,“虚拟私有云”,“子网”,“安全组”,“图规格(边数)”,“点数据集”,“边数据集”,“元数据”,“图版本”,“是否支持跨AZ高可用”,“是否支持全文索引”,“创建人”,“企业项目”,“CPU架构”,“点ID类型”(持久化版)等。 图1 图详情页签 方式2:单击图名称进入图详情页,查看图的详细信息。在该页面右上角可以单击“访问”、“备份”、“更多”等按钮对该图进行图管理操作。 图2 图详情页 父主题: 管理图
  • 创建索引 进入图引擎编辑器页面,详细操作请参见访问图引擎编辑器。 在图引擎编辑器左侧的索引模块,单击“创建索引”。 图1 创建索引 在创建索引弹框中,填写以下参数: 索引名称:自定义索引名称。 索引类型: 内存版图:有全局点索引和全局边索引。 持久化版图:有全局点索引、全局边索引、局部点索引、局部边索引四个选项。 注意:若您在创建图的时候,选择“是否支持全文/向量索引”,那么索引类型可以选择全文索引、点向量索引、边向量索引。 是否有Label:您可以选择打开或者关闭(当索引类型为向量索引时,不显示当前选项)。 索引Label名称:当您选择的索引类型为“局部点索引”或“局部边索引”时会有这个选项。 索引属性名称:只有属性基数为单值类型的属性才会显示在这里,多值不显示(当索引类型为向量索引时,仅支持单个属性,且属性类型为list)。 图2 创建索引参数 持久化版新增索引没有上限,内存版最多能创建10个索引。 填写完成后,单击“确定”会弹出一个提示框,您可以选择是否前往任务中心查看索引创建进度。 图3 查看创建进度 创建成功的索引会显示在左侧的索引模块中。
  • Gremlin查询语句 常用的查询语句如下所示: 点查询 g.V().limit(100):查询所有点,但限制点的返回数量为100,也可以使用range(x, y)的算子,返回区间内的点数量。 g.V().hasLabel('movie'):查询点的label值为movie的点。 g.V('11'):查询id为11的点。 不推荐使用“g.V()”语法,由于点过大时,这种查询方式影响展示效果。 为了避免返回数据过大导致系统查询耗时过长,强烈建议您添加limit参数,并且将limit参数设置在1000以内,展示效果更佳。 边查询 g.E():查询所有边,不推荐使用,边数过大时,这种查询方式不合理,一般需要添加过滤条件或限制返回数量。 g.E('55-81-5'):查询边id为55-81-5的边。 g.E().hasLabel('rate'):查询label为rate的边。 g.V('46').outE('rate'):查询点id为46所有label为rate的边。 属性查询 g.V().limit(3).valueMap():查询点的所有属性(可填参数,表示只查询该点, 一个点所有属性一行结果)。 g.V().limit(1).label():查询点的label。 g.V().values('userid').limit(10):查询点的属性为userid的值(可不填参数,表示查询所有属性, 一个点每个属性一行结果,只有value,没有key)。 新增点 g.addV('user').property(id,'600').property('age','18-24'):新增点,Label为user,ID为600,age为18-24。 删除点 g.V('600').drop():删除ID为600的点。 新增边 g.addV('user').property(id,'501').property('age','18-24') g.addV('movie').property(id,'502').property('title','love') g.addE('rate').property('Rating', '4').from(V('501')).to(V('502')) 分别添加点,然后新增边,边的两个点ID分别为501、502。 删除边 g.E('501-502-0').drop():删除ID为501-502-0的边。 如果您输入了多个Gremlin查询命令,可以在输入框中通过上下方向键来查找历史命令。 Gremlin查询支持联想历史记录的功能,根据您输入的语法关键字会自动显示您刚输入过的语法供您参考和选择,帮助您提高查询效率。 图2 Gremlin联想查询 输入栏中的关键词,不同的类型会呈现出不同的颜色,具体颜色区分如下: 保留字:灰色 注意:保留字是编程语言中的一类语法结构。在特定的编程语言里,这些保留字具有较为特殊的意义,并且在语言的格式说明里被预先定义。 String类型:橙色 分隔符(包含 [] {} , ; () . 等):红色 变量:绿色 图3 Gremlin关键字高亮
  • Gremlin特殊语法优化 GES集成了gremlin中的OLTP功能,并在一定程度上做了部分功能增强与strategy优化。 增强版Text Predicate g.V().has('name', Text.textSubString('xx')) Predicate 描述 textSubString 子字符串 textCISubString 忽略大小写的子字符串 textFuzzy 模糊匹配 textPrefix 前缀查询 textRegex 正则匹配 在指定schema时,不要给属性取名为id, label, property, properties。 在进行gremlin操作时,有很多step会把结果转化为map结果。众所周知,在map结构中,是不允许出现两个相同key。一般来说当向一个map中重复insert多个相同的key,其value会被覆盖 or 该操作被取消。当把属性名取为id, label, property, properties,在很多操作中,如果id与属性中的id一起返回,结果将是不完整的。
  • 自定义创建图 登录华为云账号,进入图引擎服务管理控制台,单击右上角的“创建图”按钮,进入创建图页面。 选择“区域”,即集群工作区域,可在页面左上角下拉栏选择。 在创建图页面单击“自定义创建”tab页进入自定义创图界面。 在“服务选型”页面设置以下参数: 图1 图名称和软件版本 参数 说明 图名称 可自行设置或使用系统默认名称。图创建后,不支持修改图名称。 图名称的长度需同时满足如下条件: 4~50个字符,且必须以字母开头。 字母不区分大小写。 只能包含字母、数字或下划线,不能包含其他特殊字符。 GES软件版本 系统默认当前最新版本,目前只能选择当前默认的版本号。 选择网络信息,包含“虚拟私有云”、“子网”、“安全组”、“公网访问”和“企业项目”。 图2 网络信息 参数 说明 虚拟私有云 VPC即虚拟私有云,是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境。 选择需要创建集群的VPC,单击“查看虚拟私有云”,可进入VPC服务查看已创建的VPC名称和ID。 说明: 若您的账号下有vpc,则自动选择一个填充,您可自行更改;若无vpc,则需要创建一个新的vpc,创建成功后,可自动填充。 子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。 选择需要创建集群的子网,可进入VPC服务查看VPC下已创建的子网名称和ID。 安全组 安全组是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。 单击“如何配置安全组”可了解配置安全组的具体操作。 单击“查看安全组”可了解安全组详情。 公网访问 选择公网访问的方式,用户可根据自身需求选择。 “暂不使用”:不使用弹性IP的图实例并且不能与互联网互通,仅可通过私有网络中已部署的弹性云服务器连接当前图实例使用。 “现在购买”:服务将自动为图实例分配独享带宽的弹性IP,以支持通过弹性IP从互联网对图实例进行访问。同时,服务将使用租户权限在当前项目下自动创建以ges_agency_default为前缀的授权委托以支持弹性IP的绑定处理。 “使用已有”:为图实例绑定指定的弹性IP,通过弹性IP可以从互联网对图实例进行访问。 单击“创建弹性IP”可进入VPC服务创建弹性公网IP。 企业项目 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 在页面上单击“新建企业项目”跳转至“企业项目管理”页面进行创建。 标签 为资源添加标签。在输入框中,输入标签键和标签值,单击“添加”按钮即可将标签添加在标签框中。 添加后您可以在“图管理”页面的图详情中查看到给该图添加的标签,也可以在“图管理”页面中筛选同一标签下的图。 图3 查看标签详情 说明: 如果您需要使用同一标签标识多种云资源,即所有服务均可在标签输入框下拉选择同一标签,建议在TMS中创建预定义标签。 安全模式 开启安全模式后,访问图实例将进行通讯加密(表示调用API时只能采用HTTPS协议),该功能开启后对性能有一定的影响。 密码算法 有两种方式可供选择。 通用加密算法(不支持SM系列商密算法):该状态下所有部件敏感数据存储、传输均使用通用加密算法。主要适用于国外局点和没有特殊算法需求的局点。 支持SM系列商密算法(兼容国际通用算法):该状态下所有部件敏感数据存储使用SM系列商密算法,数据传输兼容SM系列商密算法和国际算法。 填写图相关参数。 图4 图相关参数 参数 说明 是否支持跨AZ高可用 该选项表示是否支持跨可用区部署集群。 开启该选项,图实例分布在不同可用区(AZ)增强可靠性。 用途 创建图的用途。 “企业生产”:支持高可靠,高并发,适合企业生产及大规模应用时使用。 “开发学习”:完整功能体验,适合开发者学习使用。 产品类型 可选的产品类型。 内存版:容量有限,最大可支持到百亿边。基于内存存储和计算,预置丰富的算法,支持Gremlin和Cypher查询语言。 持久化版:容量无限。基于分布式KV数据库做存储和计算的新一代图数据库,有更高的性能,仅支持Cypher查询语言。 点ID类型(当您选择产品类型为持久化版时,会有此选项) 持久化版目前支持固定长度String、可变长度String和哈希三种点ID类型。 String(固定长度):实际点ID直接用于内部存储与计算,需指定一长度,实际点ID不可超过此长度。长度过大可能影响查询性能,建议根据数据集状态进行设置。 String(可变长度):用户写入的点ID无长度限制,但是ID过长会影响读写性能,建议长度控制在1K字节以内,最大不要超过4K字节。 哈希:哈希格式下,内部计算时将实际点ID转换成哈希码进行存储与计算,对实际点ID长度无限制,但是存在极低的概率(约10^(-43))出现点ID碰撞。 说明: 若用户无法确定点ID的最大长度,建议选择哈希类型。 SortKey类型(当您选择产品类型为持久化版时,会有此选项) 通过配置不同SortKey的值来区分重复边(源点,终点,Label三者都相同的边)。有如下三种取值: 整数: 整数类型,可节省空间。 String(字节长度小于等于40)。 String(可变长度):不限长度字符串,过长会影响读写性能,建议长度控制在1K字节以内,最大不要超过2K字节。 计算类型 计算类型。 弹性云服务器:是具有完整硬件、操作系统、网络功能,并且运行在一个完全隔离环境中的计算机系统。 CPU架构 CPU架构:目前支持“X86计算”和“鲲鹏计算”架构。 图规格(边数) 以边为单位,根据用户当前的配额,系统会提示可创建的图的数量以及边数。 “企业生产”和“开发学习”有不同的规格。 “开发学习”:目前只有“一万边”一种规格,无论在哪种产品类型下。 “企业生产”:产品类型不同,图规格不同。 “内存版”:目前可选择“一百万边”、“一千万边”、“一亿边”,“十亿边”,“十亿边-增强版”,“一百亿边”六种规格。 “持久化版”:目前可选择“十亿边”,“一百亿边”和“一千亿边”三种规格。 说明: 图的规模,以图的边数为依据,非精确值。如果图的点数和属性较多的话,建议您申请更大规模图。 “高级配置”:包括“默认配置”或“自定义”。 “默认配置”:选择系统设定的默认值。 “自定义”: 当您选择产品类型为“内存版”时,自定义包括“启用细粒度权限控制”。 图5 内存版高级配置 参数 说明 启用细粒度权限控制 可对特定Label的特定属性设置遍历(traverse)、读、写权限。 开启后,需要先创建策略、创建用户组和策略绑定用户组,然后用户才可以访问图数据。 当您选择产品类型为“持久化版”时,自定义包括“是否支持HyG计算引擎”“启用细粒度权限控制”。 图6 持久化版高级配置 参数 说明 是否支持HyG计算引擎 HyG是一个高性能分布式图计算框架,支持了诸多图分析算法。如果用户有复杂的图分析场景,可以使用HyG引擎来完成。 启用细粒度权限控制 可对特定Label的特定属性设置遍历(traverse)、读、写权限。 开启后,需要先创建策略、创建用户组和策略绑定用户组,然后用户才可以访问图数据。 是否支持全文/向量索引 开启后,创建的图支持全文索引和向量索引功能。 细粒度权限控制和支持全文/向量索引,两者只能开启一个,不支持同时开启。 单击“确认创建”,进入“规格确认”页面。 在“规格确认”页面,确认信息无误后,单击“提交”开始创建图。 提交成功后系统将自动跳转到“完成”页面,单击“返回图管理列表”可查看所创建图的状态及运行结果。 父主题: 创建图
  • 操作场景 图引擎服务在创建图完成后可以导入图数据,或者当您需要新增图数据时,可以利用“导入”功能进行增量导入。 当前仅支持 1.1.8 以上版本的图的增量导入功能。 为防止系统重启时,不能正常恢复导入图数据,建议在使用图期间,不要删除存储在OBS中的数据。 数据列的分隔符默认为逗号,暂不支持自定义。 导入目录下的单文件或者导入的单文件大小不能超过5GB,如果超过5GB,则会导入失败,建议把文件拆成小于5GB的多个文件后再导入。 单次导入的文件总大小(包括点、边数据集)不能超过可用内存的1/5。可用内存参考“运维监控面板”的“节点监控”中名称后缀为ges-dn-1-1和ges-dn-2-1节点可用内存(可以把鼠标悬浮在内存使用率上弹出)的最小值。
  • 任务类型对应表 表2 任务类型和任务名称对应表 任务类型 任务名称 100 点查询 101 创建点 102 删除点 103 修改点属性 104 添加点Label 105 删除点Label 200 边查询 201 创建边 202 删除边 203 修改边属性 300 查询Schema详情 301 添加Label 302 修改Label 303 查询Label 304 修改属性 400 查询图详情 401 清空图 402 在线增量导入图 403 创建图 405 删除图 406 导出图 407 filtered_khop 408 查询路径详情 409 离线增量导入图 500 创建备份 501 从备份恢复图 601 创建索引 602 查询索引 603 更新索引 604 删除索引 700 运行算法
  • 监控指标 表1 图引擎服务支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象(维度) 监控周期(原始指标) ges001_vertex_util 点容量使用率 统计图实例的点容量使用率,其值为当前图点个数和图点容量的比值。 0~100 值类型:Float % 不涉及 GES实例 1分钟 ges002_edge_util 边容量使用率 统计图实例的边容量使用率,其值为当前图边个数和图边容量的比值。 0~100 值类型:Float % 不涉及 GES实例 1分钟 ges003_average_import_rate 平均导入速率 统计图实例导入点或者边的平均速率。 0~400000 值类型:Float Count/s 不涉及 GES实例 1分钟 ges004_request_count 请求个数 统计图实例接收的请求个数。 ≥0 值类型:Int Count 不涉及 GES实例 1分钟 ges005_average_response_time 平均响应时间 统计图实例接收请求平均响应时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges006_min_response_time 最小响应时间 统计图实例接收请求最小响应时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges007_max_response_time 最大响应时间 统计图实例接收请求最大响应时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges008_read_task_pending_queue_size 读任务等待队列长度 统计图实例读请求任务等待队列长度,用于查看当前等待的读请求个数。 ≥0 值类型:Int Count 不涉及 GES实例 1分钟 ges009_read_task_pending_max_time 读任务最长等待时间 统计图实例读请求任务最长等待时间,用于查看读请求最长的等待时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges010_pending_max_time_ read_task_type 等待最长的读任务类型 统计图实例等待最长的读请求任务类型,参考任务类型和任务名称对应表可以找到对应的任务名称。 ≥1 值类型:Int - 不涉及 GES实例 1分钟 ges011_read_task_running_queue_size 读任务运行队列长度 统计图实例读请求任务运行队列长度,用于查看当前正在运行的读请求个数。 ≥0 值类型:Int Count 不涉及 GES实例 1分钟 ges012_read_task_running_max_time 读任务最长运行时间 统计图实例读任务最长运行时间,用于查看读请求最长的运行时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges013_running_max_time_ read_task_type 运行最长的读任务类型 统计图实例运行最长的读请求类型,参考可以找到对应的任务名称。 ≥1 值类型:Int - 不涉及 GES实例 1分钟 ges014_write_task_pending_queue_size 写任务等待队列长度 统计图实例写请求任务等待队列长度,用于查看当前等待的写请求个数。 ≥0 值类型:Int Count 不涉及 GES实例 1分钟 ges015_write_task_pending_max_time 写任务最长等待时间 统计图实例写请求任务最长等待时间,用于查看写请求最长的等待时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges016_pending_max_time_ write_task_type 等待最长的写任务类型 统计图实例等待最长的写请求任务类型,参考任务类型和任务名称对应表可以找到对应的任务名称。 ≥1 值类型:Int - 不涉及 GES实例 1分钟 ges017_write_task_running_queue_size 写任务运行队列长度 统计图实例写请求任务运行队列长度,用于查看当前正在运行的写请求个数。 ≥0 值类型:Int Count 不涉及 GES实例 1分钟 ges018_write_task_running_max_time 写任务最长运行时间 统计图实例写请求任务最长运行时间,用于查看写请求最长的运行时间。 ≥0 值类型:Int ms 不涉及 GES实例 1分钟 ges019 _running_max_time_ write_task_type 运行最长的写任务类型 统计运行最长的写请求任务类型,参考可以找到对应的任务名称。 ≥1 值类型:Int - 不涉及 GES实例 1分钟 ges020_computer_resource_usage 计算资源 使用率 统计每个图实例的计算资源使用率。 0~100 值类型:Float % 不涉及 GES实例 1分钟 ges021_memory_usage 内存资源使用率 统计每个图实例的内存资源使用率。 0~100 值类型:Float % 不涉及 GES实例 1分钟 ges022_iops IOPS 统计每个图实例每秒处理的I/O请求数量。 ≥0 值类型:Int Count/s 不涉及 GES实例 1分钟 ges023_bytes_in 网络输入吞吐量 统计每秒从网络输入每个图实例的数据总量。 ≥0 值类型:Float Byte/s 1024 GES实例 1分钟 ges024_bytes_out 网络输出吞吐量 统计从每个图实例每秒发送到网络的数据总量。 ≥0 值类型:Float Byte/s 1024 GES实例 1分钟 ges025_disk_usage 磁盘利用率 统计每个图实例节点的磁盘使用情况。 0~100 值类型:Float % 不涉及 GES实例 1分钟 ges026_disk_total_size 磁盘总大小 统计每个图实例的数据磁盘总大小。 ≥0 值类型:Float GB 不涉及 GES实例 1分钟 ges027_disk_used_size 磁盘使用量 统计每个图实例的数据磁盘已用大小。 ≥0 值类型:Float GB 不涉及 GES实例 1分钟 ges028_disk_read_throughput 磁盘读吞吐量 统计图实例数据磁盘每秒读取的数据量。 ≥0 值类型:Float Byte/s 1024 GES实例 1分钟 ges029_disk_write_throughput 磁盘写吞吐量 统计图实例数据磁盘每秒写入的数据量。 ≥0 值类型:Float Byte/s 1024 GES实例 1分钟 ges030_avg_disk_sec_per_read 磁盘读耗时 统计图实例数据磁盘每次读取数据的平时耗时。 ≥0 值类型:Float s 不涉及 GES实例 1分钟 ges031_avg_disk_sec_per_write 磁盘写耗时 统计图实例数据磁盘每次写入数据的平时耗时。 ≥0 值类型:Float s 不涉及 GES实例 1分钟 ges032_avg_disk_queue_length 磁盘平均队列长度 统计每个图实例数据磁盘平均的I/O队列长度。 ≥0 值类型:Int Count 不涉及 GES实例 1分钟
  • 功能实现方法 准备工作。 需要拥有一个华为账号或一个可用于访问OBS的 IAM 用户,即先注册华为云并实名认证、创建IAM用户、充值以及购买资源包,具体操作请参见使用OBS前需要做的准备工作。 获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对,具体操作请参见获取AK/SK。 已在华为OBS上,创建存储桶(例如“bing.testonly.1”),用于后续存储对象使用,具体操作请参见如何创建桶,请记录创建桶时选择的区域。 创建一个低代码应用。 参考授权用户使用华为云Astro轻应用并购买实例中操作,申请华为云Astro轻应用免费试用或购买商业实例。 实例购买后,在华为云Astro轻应用服务控制台的“主页”中,单击“进入首页”,进入应用开发页面。 在“应用”中,单击“新建低代码应用”或单击,进入新建低代码应用页面。 在新建低代码应用页面,应用类型选择“标准应用”,单击“确定”。 输入应用的标签和名称,单击“新建”,即可进入应用设计器。 图2 创建一个空白应用 表1 新建空白应用参数说明 参数 说明 示例 标签 新建应用的标签,长度不能超过80个字符。标签是应用在系统中的唯一标识,创建后不支持修改。 我的第一个应用 名称 新建应用的名称,输入标签值后单击该参数的输入框,系统会自动生成应用的名称,同时自动在名称前,添加命名空间__。命名要求如下: 长度不能超过31个字符,包括前缀命名空间的长度。 名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不允许以下划线结尾。 A 创建一个OBS连接器。 在应用设计器中,选择“集成”,单击“连接器”下的“连接器实例”。 在存储中,选择“OBS”,单击“+”,进入创建OBS页面。 输入基本信息并添加桶,单击“保存”。 图3 设置桶基本信息 图4 添加桶 表2 新建OBS连接器参数说明 参数 说明 示例 名称 新建OBS连接器的名称。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 标识前模糊掉的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母,数字和单下划线组成,且不能以下划线结尾。 upload 访问密钥 配置用户的访问密钥AK。 1中获取的Access Key ID值 密钥 配置与访问密钥AK结合使用的私有访问密钥SK。 1中获取的Secret Access Key值 桶 设置存储桶所在的区域和桶名称。 区域选择“华北-北京四”,桶名称为“bing.testonly.1”,即1中提前创建的桶 创建标准页面,用于上传文件。 在应用设计器中,选择“界面”,单击页面后的“+”,新建一个标准页面。 在标准页面中,拖入一个“上传”组件。 图5 拖入上传组件 选中上传组件,存储选择“OBS”,并选择3中创建好的连接器。 图6 设置存储信息 定义文件的上传路径。 图7 设置上传路径 返回标准页面,单击,保存页面,保存成功后单击,预览效果。
  • 应用场景 华为云Astro轻应用提供了自定义低代码页面组件的能力,当预置的组件不能满足您的业务需求时,您可以按照本实践提供的组件规范开发符合自己业务的组件,以此来灵活地扩展平台功能,提高应用构建的效率和灵活性。 本实践以开发一个imgButton组件为例,向您介绍华为云Astro轻应用自定义组件的规范,同时阐述在实现各项功能时需修改的配置项,以及最终发布该自定义组件并在页面上使用的流程,希望在您开发自己的组件时能得到帮助。 本实践中自定义的imgButton组件,用于定制按钮样式、文本等内容。当标准页面预置的按钮组件样式、文本等内容无法满足需求时,可参照本实践进行自定义。
  • 自定义标准页面组件操作流程 华为云Astro轻应用为您提供了一个自定义组件模板包workCards.zip,本章节介绍如何基于workCards.zip模板包自定义一个imgbutton组件,流程如表1所示。 表1 自定义标准页面组件流程说明 序号 步骤 说明 1 步骤一:获取自定义组件模板包 获取自定义组件模板包workCards.zip。 了解workCards.zip模板包的结构和定义规范。 2 步骤二:自定义标准页面组件imgButton 解压workCards.zip模板包,修改解压后的文件夹名称为“imgButton”。 根据业务需求,自定义标准页面组件。 将imgButton文件夹中的内容进行打包,生成自定义组件包“dist\imgButton-***.zip”。 3 步骤三:上传自定义组件包 将自定义组件上传到华为云Astro轻应用。 4 步骤四:验证自定义组件是否符合预期 创建一个标准页面,将自定义组件拖拽到该页面中,组件能够正常显示。为自定义组件添加显示和隐藏事件,检查效果是否达到预期。 父主题: 如何自定义华为云Astro轻应用标准页面组件包
  • 其他操作:通过连接器调用流式报文接口 在华为云Astro轻应用中,除了通过脚本对接大模型接口,还支持通过自定义连接器对接大模型接口。步骤一:创建脚本对接大模型接口中介绍了如何通过脚本对接大模型接口,此处为您介绍如何通过自定义连接器来对接大模型接口。 创建自定义连接器。 在应用设计器中,选择“集成”,单击“连接器”下的“连接器实例”。 在“类型”中,选择“自定义连接器”,进入自定义连接器页面。 单击“+”,配置连接器信息,单击“保存”。 图10 创建自定义连接器 表5 自定义连接器参数说明 参数 说明 示例 标签 自定义连接器的标签,创建后可修改。 取值范围:1~64个字符。 流式连接器 名称 自定义连接器的名称,名称是连接器在系统中的唯一标识,创建后不可修改。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 标识前模糊掉的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。 streamconnector 为自定义连接器添加动作。 在“动作”页签中,单击“新建”。 设置动作的基本信息,单击“下一步”。 图11 设置基本信息 表6 动作基本信息参数说明 参数 说明 示例 标签 新建动作的标签名,用于在页面显示。 取值范围:1~64个字符。 streamaction 名称 新建动作的名称,名称是动作在系统中的唯一标识。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 标识前模糊掉的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。 streamaction URL 待调用大模型接口的URL地址。 https://example.com 方法 选择请求的方法,可以设置为POST或GET。 POST 内容类型 输入内容的类型取决于第三方支持的具体种类,该类型在HTTP标准协议中定义。 application/json 返回类型 选择接口的返回类型,支持“application/json”和“text/event-stream”两种类型。 application/json:选择该类型时,系统将忽略第三方实际返回的“Content-Type”,采用第三方配置的“Content-Type”来解析返回内容。 text/event-stream:选择该类型时,将以处理流式报文的方式处理接口返回值,需要确保第三方接口的返回值为流式报文,且响应体中的“Content-Type”为“text/event-stream”。 text/event-stream 警告: “返回类型”必须设置为“text/event-stream”,否则自定义连接器的执行逻辑不会走流式的处理逻辑。 本示例无需设置消息头入参,请单击删除第一行参数,再单击“下一步”。 设置输入参数,单击“下一步”。 图12 输入参数配置页面 表7仅介绍本实践中使用到的参数,其他参数解释请参见使用自定义连接器调用第三方接口。 表7 输入参数说明 参数 说明 示例 标签 输入参数的标签名,用于在页面显示。 message 名称 新建输入参数的名称,名称是输入参数在系统中的唯一标识。 message 参数位置 设置输入参数的位置。 消息体 数据类型 设置输入参数的数据类型,直接在下拉框中选择。 字符串 本示例无需设置输出参数,请单击删除第一行参数,再单击“保存”。 返回动作页签,单击该动作所在行的,启用该动作。 图13 动作已启用 为连接器添加认证信息。 为连接器添加认证信息不是本实践重点介绍的内容,具体操作可参考步骤2:配置连接器认证信息。 验证连接器调用流式报文接口。 在动作列表中,单击2中创建的动作,进入动作详情页。 在动作详情页,单击页面上方的“测试”。 图14 选择测试 创建脚本,在脚本中调用自定义连接器。 参考步骤一:创建脚本对接大模型接口中操作,创建一个空白脚本,在脚本编辑器中输入如下示例代码。其中,“命名空间__streamconnector”为1中创建连接器的名称,“命名空间__streamaction”为2中为连接器添加的动作,“命名空间__authname”为3中为连接器添加的认证信息。 import * as context from 'context'; import * as connector from 'connector'; /* * The input parameter is defined by `@action.param()`. */ export class Input { @action.param({ type: "String", required: true, description: "the operation type" }) inputParam: string; } /* * The output parameter is defined by `@action.param()`. */ export class Output { } /* * Define the main service class. * * - The service entry function is defined by `@action.method()`. * - All dependent objects should be defined via `@useObject([])` (for objects) or `@useBo([])` (for business objects). */ export class Calculator { @action.method({ input: "Input", output: "Output", description: "do a operation" }) run(input: Input): Output { let output = new Output(); // 页面上自己创建的自定义连接器的调用方法,第一个参数是创建的自定义连接器名称,第二个参数是认证信息名称 let client2 = connector.newClient("命名空间__streamconnector", "命名空间__authname"); let input2 = { "message": input.inputParam, "stream": true }; // 第一个入参是动作名称, 第二个参数是入参 let resp2 = client2.invoke("命名空间__streamaction", input2); context.getHttp().response.setBody(resp2.data) return output; } } 创建一个标准页面,添加一个智能助手组件并做相关设置,具体操作同步骤二:调用流式报文接口实现智能对话。
  • 步骤一:创建脚本对接大模型接口 在华为云Astro轻应用中,您可以通过脚本和自定义连接器两种方式来对接大模型接口。本步骤以脚本为例进行介绍,连接器如何对接大模型接口请参见其他操作:通过连接器调用流式报文接口。 创建一个低代码应用。 参考授权用户使用华为云Astro轻应用并购买实例中操作,申请华为云Astro轻应用免费试用或购买商业实例。 实例购买后,在华为云Astro轻应用服务控制台的“主页”中,单击“进入首页”,进入应用开发页面。 在“应用”中,单击“新建低代码应用”或单击,进入新建低代码应用页面。 在新建低代码应用页面,应用类型选择“标准应用”,单击“确定”。 输入应用的标签和名称,单击“新建”,即可进入应用设计器。 图2 创建一个空白应用 表2 新建空白应用参数说明 参数 说明 示例 标签 新建应用的标签,长度不能超过80个字符。标签是应用在系统中的唯一标识,创建后不支持修改。 我的第一个应用 名称 新建应用的名称,输入标签值后单击该参数的输入框,系统会自动生成应用的名称,同时自动在名称前,添加命名空间__。命名要求如下: 长度不能超过31个字符,包括前缀命名空间的长度。 名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不允许以下划线结尾。 A 在应用设计器中,选择“逻辑”,单击脚本后的“+”。 新建一个空白的脚本,名称设置为“streamScript”,单击“添加”。 图3 创建脚本 表3 新建脚本参数说明 参数 说明 示例 名称 在输入框中,输入新建脚本的名称。命名要求如下: 长度不能超过63个字符,包括前缀命名空间的长度。 名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,没有连续的下划线,且不能以下划线结尾。 streamScript 在脚本编辑器中,输入示例代码。 本示例代码主要实现的功能包括:创建一个客户端,通过POST方法和GET方法调用相应的接口,使后台以处理流式报文的方式处理接口返回的数据。其中,https://example.com为待调用大模型接口的地址。 通过脚本直接调用SSE协议的ULR时,传入参数“isStream”必须设置为“true”,否则不会走流式的处理逻辑。 import * as context from 'context'; import * as http from 'http'; /* * The input parameter is defined by `@action.param()`. */ export class Input { @action.param({ type: "String", required: true, description: "the operation type" }) inputParam: string; } /* * The output parameter is defined by `@action.param()`. */ export class Output { } /* * Define the main service class. * * - The service entry function is defined by `@action.method()`. * - All dependent objects should be defined via `@useObject([])` (for objects) or `@useBo([])` (for business objects). */ export class CallSseUrl { @action.method({ input: "Input", output: "Output", description: "do a operation" }) run(input: Input): Output { let output = new Output(); let cli = http.newClient() let resp = cli.post("https://example.com", { isStream: true, data: { "message": input.inputParam }, headers: { "Content-Type": "application/json" } }) return output; } } 单击脚本编辑器上方的,保存脚本。 调试脚本验证脚本是否符合预期。 在脚本编辑器上方单击,进入脚本调试页面。 在“输入参数”页签中,输入如下示例。 图4 设置输入参数 { "inputParam": "我想创建一个差旅管理应用" } 单击,执行脚本。 在“输出参数”中,输出如下流式内容,表明脚本输出正常。 图5 脚本输出内容 好的!为您**智能规划**了"**差旅管理**"应用的构建计划如下: 1. 创建一个名为"**差旅管理**"的低代码应用; 2. 添加模型对象"**差旅管理**",包含字段: - **出发城市**(下拉选择) - **目的城市**(下拉选择) - **出发时间**(日期) - **结束时间**(日期) - **出差目的**(文本) 3. 为"**差旅管理**"模型生成一个标准的**增删改查界面**; 4. 配置一条脚本逻辑:"**提交申请后,自动流转到审批人进行审核**"。 请问您是否确认该构建计划? 您可以输入: - "**确认**",我将开始执行; - 或输入**修改意见**,例如"增加一个报销单模型"或"把交通工具改为文本字段"。 脚本校验符合预期后,单击脚本编辑器上方的,启用脚本。
  • 约束与限制 表1 约束与限制说明 限制类别 具体限制 脚本中参数限制 通过脚本直接调用SSE协议的ULR时,需要传入参数“isStream:true”,否则不会走流式的处理逻辑。 连接器配置中动作的限制 动作中的返回类型必须设置为text/event-stream,否则自定义连接器的执行逻辑不会走流式的处理逻辑。 开放接口中参数的限制 如果使用开放接口调用SSE协议的脚本,需要将接口信息中的API类型配置为STREAM(默认是rest),同时URL的前缀应该为/service-stream(会根据api类型自动显示),否则不会走流式的处理逻辑,接口执行会报错。
  • 应用场景 开发者使用华为云Astro轻应用开发标准页面时,如果需要通过智能助手组件或其他组件对接外部大模型接口,可以直接在脚本或自定义连接器中配置对大模型接口的调用,支持以流式报文的形式获取大模型接口的返回值。最终在组件中,可实时接收接口返回信息,用户无需等待接口完成全部数据传输即可查看返回数据。 流式报文是指在数据传输过程中,数据不是一次性全部传输完毕,而是以流的形式逐步传输。 本实践将为您介绍,如何在脚本中调用大数据模型接口,实现在应用中接入大数据模型能力,开发AI应用。
  • 步骤一:获取自定义组件模板包 为了增强标准页面组件的丰富性,华为云Astro轻应用为您提供了一个自定义组件模板workCards.zip,您可以基于该模板包自定义标准页面组件。开发标准页面组件前,请先了解自定义组件模板包的结构及定义规范,便于快速上手。 单击链接,获取华为云Astro轻应用自定义组件模板workCards.zip。 解压获取的workCards.zip包,了解自定义组件模板包的结构及定义规范。 图1 workCards.zip模板包结构 表1 workCards.zip模板包目录及文件说明 目录及文件 说明 build 用于存放组件的打包脚本。 dist 组件打包文件目录,文件打包后生成于此目录下。 preview 组件预览文件夹。 src 组件的主文件夹,组件的内容位于此文件夹中。 本实践中,自定义组件仅涉及修改“src\components\workCards”目录下的内容,详细介绍请参见表2。 .gitignore Git的忽略文件。 .npmrc 设置package.json中依赖包的安装源。 package.json 项目的依赖文件。 package-lock.json 用于锁定依赖文件的安装版本号。 README.md 项目提示文件,用于编写对该组件的描述。 vite.config.js Vite的配置文件。 图2 src\components\workCards目录结构 表2 src\components\workCards目录结构说明 目录及文件 说明 design-time 开发态组件文件目录。 static 静态文件目录。 cube.svg/workCards.svg 业务中使用的图标。 index.js 组件主入口文件。 workCards.json 组件的描述文件,用于自定义组件配置面板的规格,即校验和辅助编写自定义组件配置面板的JSON文件。workCards.json文件的编写需遵循JSON Schema规范,以便与主流的编辑器(如vscode、atom、sublime text、webstorm)集成。 workCards.json可以在插件包开发时修改,也可以在插件包编译后修改,编译前workCards.json文件存放在“src\components\workCards”目录下(如图3),编译后“dist\components\workCards”目录下(如表3)。 workCards.vue 组件的主文件。 图3 编译前workCards.json文件所在位置 图4 编译后workCards.json文件所在位置 表3 workCards.json参数说明 参数 说明 name 组件的名称,此处配置的名称主要用于后台元数据的存储和解析等。 长度不能超过64个字符,必须以英文字母开头,只能由英文字母、数字和特殊字符(_和-)组成。建议由厂商名_组件名_版本号组成,例如aaa_img-button_1.1.1。 组件的名称会存放在界面元数据的type中,如type: "my-component1"。 zip包的名称应该和此处name的取值保持一致,例如name设置为imgbutton,zip包名必须为imgbutton.zip。 title 组件别名会显示在标准页面开发界面左侧“组件”页签下的扩展组件中,建议简短并能展示组件特性。 取值范围:1~100个字符。 description 组件的描述信息,即当鼠标悬停在组件上时,展示的组件描述信息。 取值范围:1~200个字符。 category 组件的分类,为了保持界面构建器组件分类的一致性,请使用华为云Astro轻应用提供的组件分类,具体分类如表4所示。 icon 组件的图标,分为未选中时和选中时两个,必须为png格式,且每个png的大小不能超过16KB。 其他 用于定义包大小,编译后的组件包大小不能超过1MB。 表4 华为云Astro轻应用组件分类 分类 说明 navigation 导航组件,如菜单、工具栏或侧边栏。 data 数据组件,可以查看和编辑应用程序中的数据,例如Form、Table或List。 common 通用组件,如标签、图片、标题或段落。 container 容器组件,即包含其他组件的容器。例如,栅格布局组件Row/Col、流式布局组件、Panel、Tabs、Collapse或WidgetContainer。 input 显示和编辑实体属性,如文本框、日期选择器。 file 文件处理组件,例如文件上传下载组件、图片浏览组件或PDF预览组件。 button 触发动作的按钮,如保存按钮、页面跳转按钮。 report 聚合数据并以表格或图表的形式显示,如图表、透视表。 widget 业务卡片。 add-on 扩展组件。
  • 多人协同开发,如何控制用户权限? 在华为云Astro轻应用中多人协助开发时,可通过为不同的开发者分配不同的权限,来控制开发者对应用的查看、开发、管理等操作。 参考登录华为云Astro轻应用应用设计器中操作,进入应用设计器。 在应用设计器的右上方,单击图标,进入协同页面。 图1 进入协同页面 单击“管理”下的“开发者”,再单击“被允许的用户”后的“添加”,选择需要协同开发的用户。 图2 选择需要协同开发的用户 单击“下一步”,为添加的用户设置权限,单击“确定”完成添加。 查看应用:允许通过应用设计器访问和查看应用内的元素。 编辑应用:允许进行应用开发编辑,包括应用信息、应用设置和应用内包含的元素。 删除应用:允许将该应用从环境中删除。 版本管理:允许对应用的版本进行管理,如发布版本、切换版本和删除旧版本等。 打包部署:允许打包应用和安装部署应用。 应用管理:允许管理应用的开发者和应用的安全等级等。 例如,为开发者用户“IAMUser01”添加查看查看应用和编辑应用的权限。设置后,在“被允许的用户”中可查看到添加的用户。以“IAMUser01”用户登录应用后,可查看和编辑当前应用。 父主题: 应用前端开发
  • 操作场景 您可以删除不需要的私有镜像。 删除私有镜像后,将无法找回,请谨慎操作。 删除私有镜像后,不能再使用该镜像创建云服务器或云硬盘。 删除私有镜像后,已使用该镜像创建的云服务器仍可正常使用,并会继续产生费用,但是无法重装操作系统,也不能创建相同配置的云服务器。 删除复制镜像的源镜像,对复制后的镜像没有影响;反之亦然。 删除正在制作的整机镜像可能会导致备份残留继续收费,如果不需要此备份,请在云备份或云服务器备份控制台进行删除。
  • 前提条件 云服务器的状态为“运行中”。 需保证根目录可写入,且剩余空间大于300MB。 对于Linux弹性云服务器,selinux会影响重置密码插件运行。若开启了selinux,请参考关闭selinux禁用selinux。 使用SUSE 11 SP4镜像创建的云服务器,内存需要大于等于4G时才能支持一键式重置密码功能。 云服务器使用的VPC网络DHCP不能禁用。 云服务器网络正常通行。 云服务器安全组出方向规则满足如下要求: 协议:TCP 端口范围:80 远端地址:169.254.0.0/16 如果您使用的是默认安全组出方向规则,则已经包括了如上要求,可以正常初始化。默认安全组出方向规则为: 协议:ALL 端口范围:ALL 远端地址:0.0.0.0/16
  • 操作步骤 检查弹性云服务器是否已安装一键式重置密码插件。 以root用户登录弹性云服务器。 执行以下命令,查询是否已安装CloudResetPwdAgent。 ls -lh /Cloud* 图1 查询是否已安装一键式重置密码插件 检查结果是否如图1所示。 是,表示已安装一键式重置密码插件,结束。 否,表示未安装一键式重置密码插件,请继续执行如下操作进行安装。 请参考获取并校验一键式重置密码插件完整性(Linux),下载对应的一键式重置密码插件CloudResetPwdAgent.zip并完成完整性校验。 安装一键式重置密码插件对插件的具体放置目录无特殊要求,请您自定义。 执行以下命令,解压软件包CloudResetPwdAgent.zip。 安装一键式重置密码插件对插件的解压目录无特殊要求,请您自定义。 unzip -o -d 插件解压目录 CloudResetPwdAgent.zip 示例: 假设插件解压的目录为/home/linux/test,则命令行如下: unzip -o -d /home/linux/test CloudResetPwdAgent.zip 安装一键式重置密码插件。 执行以下命令,进入文件CloudResetPwdAgent.Linux。 cd CloudResetPwdAgent/CloudResetPwdAgent.Linux 执行以下命令,添加文件setup.sh的运行权限。 chmod +x setup.sh 执行以下命令,安装插件。 sudo sh setup.sh 如果脚本执行成功打印“cloudResetPwdAgent install successfully.”,且未打印“Failed to start service cloudResetPwdAgent”,表示安装成功。 您也可以根据1,检查密码重置插件是否安装成功。 如果密码重置插件安装失败,请检查安装环境是否符合要求,并重试安装操作。 修改重置密码插件的文件权限。 chmod 700 /CloudrResetPwdAgent/bin/cloudResetPwdAgent.script chmod 700 /CloudrResetPwdAgent/bin/wrapper chmod 600 /CloudrResetPwdAgent/lib/*
共100000条
提示

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