云服务器内容精选

  • 功能实现方法 准备工作。 需要拥有一个华为账号或一个可用于访问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 设置上传路径 返回标准页面,单击,保存页面,保存成功后单击,预览效果。
  • 步骤三:从第三方数据库获取数据 在自定义连接器的“动作”页签中,单击6中添加的动作,进入动作列表页。 图18 单击动作名称 在页面右上方,单击“测试”,进入测试页面。 “认证信息”选择5中创建的noauth,设置输入参数,单击“测试”。 图19 测试 例如,从第三方数据库的“indexes”表中,获取1条数据。其中,“sql”为8中添加的输入参数,“indexes”为第三方数据库中某个表的名称。单击“测试”,返回如下数据: { "result": { "content": [ { "created_by": "10gd000000bHFh7DZ9iS", "created_date": "2021-04-09T00:59:20.000+00:00", "description": null, "field_id1": "cust000000hDkpq2Puy0", "field_id2": null, "index_id": "cust000000inMlDAbr6X", "index_name": "HWAC__applicationId__ CS T", "index_type": 3, "label": null, "last_modified_by": null, "last_modified_date": "2021-04-09T00:59:20.000+00:00", "obj_id": "cust000000hBjuCHLJom", "status": 0, "tenant_id": "0000000000bHFh7DZ9iT" } ] }, "dataForm": "2006-01-02", "dataTimeFormat": "2006-01-02 15:04:05", "reqMsg": "", "respMsg": "{\"url\":\"http://10.10.10.1:30280/astro/native/demo/dbadapter/mysql/datasource1/read\",\"method\":\"POST\",\"parameters\":{\"content\":\"******\"},\"tenantID\":\"000000000142c5UhjFvk\",\"statusCode\":200}", "timeElapsed": 207722711, "statusCode": 200, "headers": { "Connection": "keep-alive", "Content-Type": "application/json", "Date": "Fri, 13 Dec 2024 08:55:24 GMT", "Server": "nginx" } }
  • 步骤四:通过脚本调用连接器获取数据 在应用设计器中,选择“逻辑”,单击脚本后的“+”。 新建一个空白的脚本,名称设置为“dbscript”,单击“添加”。 图20 创建脚本dbscript 在脚本编辑器中,输入示例代码。 示例代码中,“命名空间__demoDB”为4中定义的连接器名称,“命名空间__noauth”为3中添加的认证信息,“命名空间__demoSql”为6中添加的动作。 import * as connector from 'connector'; import * as context from 'context';//导入上下文相关的标准库 //定义入参结构 @action.object({ type: "param" }) export class ActionInput { @action.param({ type: 'String', required: false, label: 'String' }) sql: string; } //定义出参结构 @action.object({ type: "param" }) export class ActionOutput { @action.param({ type: 'any' }) res: any; } @action.object({ type: "method" }) export class CreateWorkOrder { //定义接口类,接口的入参为ActionInput,出参为ActionOutput @action.method({ input: 'ActionInput', output: 'ActionOutput' }) public createWorkOrder(input: ActionInput): ActionOutput { let out = new ActionOutput(); //新建出参ActionOutput类型的实例,作为返回值 let error = new Error(); //新建错误类型的实例,用于在发生错误时保存错误信息 try { // 页面上自己创建的自定义连接器的调用方法,第一个参数是创建的自定义连接器名称,第二个参数是认证信息名称 let client = connector.newClient("命名空间__demoDB", "命名空间__noauth"); //入参 let input = { "sql": "select * from flowinstance limit 1" }; // 第一个入参是动作名称, 第二个参数是入参 let resp = client.invoke("命名空间__demoSql", input); // 打印输出结果 console.log(resp); out.res = resp; } catch (error) { console.error(error.name, error.message); context.setError(error.name, error.message); } return out; } } 单击页面上方的,保存脚本。 单击编辑器上方的,执行脚本。 在页面底部单击测试窗口右上角的,在“输出参数”中可以查看到返回的数据库数据。 图21 查看返回数据
  • 步骤二:创建连接器对接第三方数据库 创建一个低代码应用。 参考授权用户使用华为云Astro轻应用并购买实例中操作,申请华为云Astro轻应用免费试用或购买商业实例。 实例购买后,在华为云Astro轻应用服务控制台的“主页”中,单击“进入首页”,进入应用开发页面。 在“应用”中,单击“新建低代码应用”或单击,进入新建低代码应用页面。 在新建低代码应用页面,应用类型选择“标准应用”,单击“确定”。 输入应用的标签和名称,单击“新建”,即可进入应用设计器。 图13 创建一个空白应用 表3 新建空白应用参数说明 参数 说明 示例 标签 新建应用的标签,长度不能超过80个字符。标签是应用在系统中的唯一标识,创建后不支持修改。 我的第一个应用 名称 新建应用的名称,输入标签值后单击该参数的输入框,系统会自动生成应用的名称,同时自动在名称前,添加命名空间__。命名要求如下: 长度不能超过31个字符,包括前缀命名空间的长度。 名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不允许以下划线结尾。 A 在应用设计器中,选择“集成”,单击“连接器”下的“连接器实例”。 在类型中,选择“自定义连接器”,进入自定义连接器页面。 单击“+”,配置连接器信息,单击“保存”。 图14 创建自定义连接器 表4 自定义连接器参数说明 参数 说明 示例 标签 自定义连接器的标签,创建后可修改。 取值范围:1~64个字符。 demoDB 名称 自定义连接器的名称,名称是连接器在系统中的唯一标识,创建后不可修改。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 标识前模糊掉的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。 demoDB 为自定义连接器新建认证信息。 在“认证信息”页签,单击“新建”,进入添加认证信息页面。 设置认证信息,单击“保存”。 图15 添加认证信息 表5仅介绍本实践中使用到的参数,其他参数解释请参见使用自定义连接器调用第三方接口。 表5 添加认证信息参数说明 参数 说明 示例 标签 认证的标签名,用于在页面显示。 取值范围:1~64个字符。 noauth 名称 认证的名称,名称是认证在系统中的唯一标识,创建后不可修改。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 标识前模糊掉的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。 noauth 为自定义连接器添加动作。 在“动作”页签中,单击“新建”。 设置动作的基本信息,单击“下一步”。 图16 设置基本信息 表6 动作基本信息参数说明 参数 说明 示例 标签 新建动作的标签名,用于在页面显示。 取值范围:1~64个字符。 demoSql 名称 新建动作的名称,名称是动作在系统中的唯一标识。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 标识前模糊掉的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。 demoSql URL 第三方提供的协议服务的URL地址,即5中调试成功的地址。 http://10.10.10.1:30280/astro/native/demo/dbadapter/mysql/datasource1/read 方法 选择请求的方法。 POST 内容类型 输入内容的类型,该值取决于第三方支持哪种类型,是在HTTP标准协议中定义的。 application/json 返回类型 选择返回类型。 取值为“application/json”时,表示会忽略第三方实际返回的“content-type”,使用第三方配置的“content-type”来解析第三方返回的内容。 如果该参数取值为空,表示使用HTTP返回中的“content-type”,来解析第三方返回的内容。 application/json 本示例无需设置消息头入参,请单击删除第一行参数,再单击“下一步”。 设置输入参数,单击“下一步”。 图17 输入参数配置页面 表7仅介绍本实践中使用到的参数,其他参数解释请参见使用自定义连接器调用第三方接口。 表7 输入参数说明 参数 说明 示例 标签 输入参数的标签名,用于在页面显示。 sql 名称 新建输入参数的名称,名称是输入参数在系统中的唯一标识。 sql 参数位置 设置输入参数的位置。 消息体 数据类型 设置输入参数的数据类型,直接在下拉框中选择。 字符串 本示例无需设置输出参数,请单击删除第一行参数,再单击“保存”。 返回动作页签,单击该动作所在行的,启用该动作。
  • 前提条件 db-adapter是用于操作第三方数据库的后端java demo代码。resources目录下的datasource.json文件用于配置第三方数据库的地址链接以及用户名、密码,用户可以基于自己的第三方数据库进行配置。DBExecuteController.java用于连接上数据库后,处理外部请求,返回数据库数据。 图2 datasource.json 图3 DBExecuteController.java 基于db-adapter生成jar包,把编出的jar包放在“build”目录下,构建docker镜像。已将制作好的镜像包上传到 容器镜像服务 SWR,如何上传镜像包请参见页面上传镜像。 使用docker save制作镜像压缩包时,请使用“{image}:{tag}”命令,不要使用“image id”,否则无法在容器 镜像服务 SWR页面上传。镜像上传失败时,可参考为什么通过页面上传镜像失败?中操作处理。 图4 使用maven install,将db-adapter打成jar包 图5 构建镜像