云服务器内容精选

  • 方式二:在组件的事件代码中,直接调用服务 除了将服务编排、脚本和API封装成模型调用外,还可以在组件的事件代码中,直接调用服务。 在代码编辑页面左侧,单击“服务类”下的“服务编排”按钮,获取调用服务编排的代码。通过简单的修改,如服务编排的名称,版本号,即可初始化并得到服务编排对象。 系统提供了多种内置API,用来操作服务编排对象。例如,run方法用来一次性执行完服务编排,也可以调用start、next、back、finish、resume、terminate等方法,实现在服务编排特定阶段执行回调方法。 图8 服务编排快捷代码 在代码编辑界面左侧,单击“服务类”下的“脚本编排”按钮,获取调用脚本编排的代码。通过简单的修改,如脚本编排的名称,即可初始化并得到脚本编排对象。调用平台内置run方法,来执行脚本。 图9 脚本编排快捷代码 在代码编辑界面左侧,单击“服务类”下的“服务请求”按钮,获取调用API请求的代码。通过将样例代码中的url替换成真实业务url,配置请求参数,请求方法和请求头信息,调用平台内置run方法即可请求API。 图10 服务请求快捷代码 对象、服务编排和脚本编排也可以配置成API,通过API的方式进行调用,更多内容请参见10 API接口。
  • 什么是执行后台逻辑 在标准页面执行后台逻辑,即在标准页面组件的事件中,调用其他服务补充和实现当前事件的行为。 例如,在员工信息录入页面中,在信息“提交”按钮的“点击”事件中,调用API,将表单中的员工信息发送到数据库进行保存。或者调用在标准页面中的服务编排或脚本,并对需要保存的信息进行预处理。 标准页面执行后台逻辑一般是通过调用标准页面服务和调用第三方接口两种方式实现。本章节主要介绍调用标准页面服务,关于标准页面调用第三方接口的内容请参见如何调用第三方接口。 标准页面的服务主要分为服务编排(Flow)、脚本(Script)和公共接口(API)三种,对应的页面模型为“服务”。 图1 页面模型(服务)
  • 方式二:在组件的事件代码中,直接调用服务 除了将服务编排、脚本和API封装成模型调用外,还可以在组件的事件代码中,直接调用服务。 在代码编辑页面左侧,单击“服务类”下的“服务编排”按钮,获取调用服务编排的代码。通过简单的修改,如服务编排的名称,版本号,即可初始化并得到服务编排对象。 系统提供了多种内置API,用来操作服务编排对象。例如,run方法用来一次性执行完服务编排,也可以调用start、next、back、finish、resume、terminate等方法,实现在服务编排特定阶段执行回调方法。 图7 服务编排快捷代码 在代码编辑界面左侧,单击“服务类”下的“脚本编排”按钮,获取调用脚本编排的代码。通过简单的修改,如脚本编排的名称,即可初始化并得到脚本编排对象。调用平台内置run方法,来执行脚本。 图8 脚本编排快捷代码 在代码编辑界面左侧,单击“服务类”下的“服务请求”按钮,获取调用API请求的代码。通过将样例代码中的url替换成真实业务url,配置请求参数,请求方法和请求头信息,调用平台内置run方法即可请求API。 图9 服务请求快捷代码 对象、服务编排和脚本编排也可以配置成API,通过API的方式进行调用,更多内容请参见API接口。
  • 什么是执行后台逻辑 在标准页面执行后台逻辑,即在标准页面组件的事件中,调用其他服务补充和实现当前事件的行为。 例如,在员工信息录入页面中,在信息“提交”按钮的“点击”事件中,调用API,将表单中的员工信息发送到数据库进行保存。或者调用在标准页面中的服务编排或脚本,并对需要保存的信息进行预处理。 标准页面执行后台逻辑一般是通过调用标准页面服务和调用第三方接口两种方式实现。本章节主要介绍调用标准页面服务,关于标准页面调用第三方接口的内容请参见如何调用第三方接口。 标准页面的服务主要分为服务编排(Flow)、脚本(Script)和公共接口(API)三种,对应的页面模型为“服务”。 图1 页面模型(服务)
  • 源码包与资产包对比 源码包和资产包都是应用发布类型,大部分的功能都是一致的,例如都分为全量和组件两种形式,都是按“编译-发布”的流程进行。目前来说,主要有以下几点不同之处: 不同的保护模式设置。 源码包中的所有组件都不受保护和限制,其保护模式也无法进行设置修改,这些组件在安装后可以被自定义编辑修改。而资产包的大部分组件默认在安装后是不允许被修改的,甚至可以设置某些组件不可见,如服务编排,脚本等,可防止泄露源代码,保护知识产权。其保护模式可以在编译设置中,进行修改。 二次开发与发布模式不同。 源码包在开发环境中安装后允许再次进行打包发布,而资产包安装后无法二次打包发布。另外,源码包只能发布到“我的仓库”,而资产包主要用于发布到应用市场。
  • 什么是应用包 轻应用或行业应用开发完成后,应用需要编译打包,这种编译后的压缩包即应用包。 应用包类型 在AstroZero中,编译打包的应用包类型有以下两种: 源码包:该类型包中的所有组件,都不受保护和限制。在其他环境安装后可编辑包中组件,即在原有基础上可进行再开发。若后续其他用户在开发环境安装后,会显示在开发环境首页的“项目”页签下。 资产包:该类型支持设置包中的组件,是否受保护。打包时不做编译设置,默认打出的包都是资产包,包中组件都为只读保护模式,将包安装到其他环境时,只能运行和预览,不可编辑包中组件。若后续其他用户在其他开发环境安装资产包后,应用会显示在开发环境首页的“库”页签下。 应用包类型的详细介绍,请参见源码包与资产包对比。 软件包环境 图1 环境介绍 AstroZero分为开发环境,沙箱环境和运行环境三个部分,更多介绍请参见基本概念。 开发者在开发环境开发应用和BO,开发完成后生成对应的软件包。 发布软件包到沙箱环境中进行测试。 测试通过后,发布安装到生产环境实际运行和维护。 仅专业收费版本支持沙箱环境和运行环境,免费版本无沙箱环境和运行环境权限。 软件包制作 应用或BO创建完成后,平台会同步创建同名的软件包。 对应用和BO内的组件,进行增删查改都会同步反映到软件包中。 开发者也可以在编译设置中,对软件包和其中组件的属性进行修改。
  • 背景信息 文字识别(Optical Character Recognition,简称OCR)以开放API的方式提供给用户,用户使用Python、Java等编程语言调用OCR服务API将图片识别成文字,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 在AstroZero中,通过应用与华为OCR(Optical Character Recognition)对接,可实现图片或扫描件中文字识别功能。
  • 在脚本中调用连接器 在脚本中,调用连接器实现与OCR的对接。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图4 新建空白脚本 在脚本编辑器中,输入如下代码。 //导入该脚本所依赖的标准库文件。ocr是系统预置的标准库。 import * as ocr from 'ocr'; let cli = ocr.newClient("OCR_Test"); try { let url = "https://obs-XXXX.obs.cn-north-1.testXXXX.com:443/1.PNG?AccessKeyId=ZK87UUIONJF5ZHWBINUO&Expires=1556001233&Signature=DOwO6djb4Q3EBvCieQFaO3T2GKU%3D&x-obs-security-token=gQpjbi1ub3J0aC0xipYOeC2mcbefHh5I_aMr6DEWQ8-iFyxqatavdiFtYowH-lpJCcxeTynsV_4PTJe9QIx85mlDIDo3sU9PUv3hFtRjQORjGE2PqA4hEtozvMuWxXb5b6RKiFT37-z7NoI4R85XmlTmZGQ6OUZ92bercG5DWEBTDVd3I_UYuNGzF20q6S2COP__Z-uqkhhw8nATd3k6GaIfCqxjcOih_juHBBoM1ON74vpKxCl1sJxnEYbZfkf6FO_xuGaJD7-J7OzD8tsSmFf4jR1TqZFZzrPEc9bkd2bPr8pwOCdDp8Yy0EVauKDvtIXsvzFollOR0rUvZol1sIsQU0gVpFpZyIqYqG6C_qQfXmr5DQwXTsQyifKjXLSj2MbPs6FKLYqu7mj0NhxUVcK5EQh5Vl5x5VHvYGRwgWJL078oXVBKGnQnr05EDHcCiW-6Gris2mHBYdcNmuhJ1UwNekeumBc0S6_33yK-U8OGYLMpR6HnLooyFmtmnOBIIQIkzWfWUNM7nIdWWcPmozJcBZ8iyawE0Cxgz5Xf56hPi-YZda0d1Xu387GA8PBkEPVct1yo5nh2bmVfRH6z0zWzhN-vbFcIHsfYv776DDLKQdSH0Sn-8bHdvPLPd2QieBkgS6wfvTcKMeBA6PwwNBl0Xqds6vQPpSZe6cYyplNuJoY05VLd8tLZMy_bR8Dmf1kArQaSquBzw2eDCfJAazjA4wTnkbccr38k7eM%3D" let resp = cli.idCardWithURL(url, "front"); console.log(resp); } catch (e) { console.log("error: ", e) } 其中,ocr.newClient("OCR_Test")中,“OCR_Test”为连接器的名称,“url”取值是图片的URL, “front”表示识别的是身份证正面。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 不用设置输入参数,直接单击测试窗口右上角的。 在输出参数页签,检查是否识别出身份证上文字信息。 识别出身份证上的文字信息,表明成功调用连接器。 单击脚本编辑器页面上方的,启用脚本。
  • 背景信息 文字识别(Optical Character Recognition,简称OCR)以开放API的方式提供给用户,用户使用Python、Java等编程语言调用OCR服务API将图片识别成文字,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 在AstroZero中,通过应用与华为OCR(Optical Character Recognition)对接,可实现图片或扫描件中文字识别功能。
  • 在脚本中调用连接器 在脚本中,调用连接器实现与OCR的对接。 参考开发一个简单脚本实例中操作,创建一个空白脚本。 图5 新建一个空白脚本 在脚本编辑器中,输入如下代码。 //导入该脚本所依赖的标准库文件,ocr是系统预置的标准库。 import * as ocr from 'ocr'; let cli = ocr.newClient("OCR_Test"); try { let url = "https://obs-XXXX.obs.cn-north-1.testXXXX.com:443/1.PNG?AccessKeyId=ZK87UUIONJF5ZHWBINUO&Expires=1556001233&Signature=DOwO6djb4Q3EBvCieQFaO3T2GKU%3D&x-obs-security-token=gQpjbi1ub3J0aC0xipYOeC2mcbefHh5I_aMr6DEWQ8-iFyxqatavdiFtYowH-lpJCcxeTynsV_4PTJe9QIx85mlDIDo3sU9PUv3hFtRjQORjGE2PqA4hEtozvMuWxXb5b6RKiFT37-z7NoI4R85XmlTmZGQ6OUZ92bercG5DWEBTDVd3I_UYuNGzF20q6S2COP__Z-uqkhhw8nATd3k6GaIfCqxjcOih_juHBBoM1ON74vpKxCl1sJxnEYbZfkf6FO_xuGaJD7-J7OzD8tsSmFf4jR1TqZFZzrPEc9bkd2bPr8pwOCdDp8Yy0EVauKDvtIXsvzFollOR0rUvZol1sIsQU0gVpFpZyIqYqG6C_qQfXmr5DQwXTsQyifKjXLSj2MbPs6FKLYqu7mj0NhxUVcK5EQh5Vl5x5VHvYGRwgWJL078oXVBKGnQnr05EDHcCiW-6Gris2mHBYdcNmuhJ1UwNekeumBc0S6_33yK-U8OGYLMpR6HnLooyFmtmnOBIIQIkzWfWUNM7nIdWWcPmozJcBZ8iyawE0Cxgz5Xf56hPi-YZda0d1Xu387GA8PBkEPVct1yo5nh2bmVfRH6z0zWzhN-vbFcIHsfYv776DDLKQdSH0Sn-8bHdvPLPd2QieBkgS6wfvTcKMeBA6PwwNBl0Xqds6vQPpSZe6cYyplNuJoY05VLd8tLZMy_bR8Dmf1kArQaSquBzw2eDCfJAazjA4wTnkbccr38k7eM%3D" let resp = cli.idCardWithURL(url, "front"); console.log(resp); } catch (e) { console.log("error: ", e) } 其其中,ocr.newClient("OCR_Test")中,“OCR_Test”为连接器的名称,“url”取值是图片的URL, “front”表示识别的是身份证正面。 单击脚本编辑器页面上方的,保存脚本。 保存成功后,单击,运行脚本。 不用设置输入参数,直接单击测试窗口右上角的。 在输出参数页签,检查是否识别出身份证上文字信息。 识别出身份证上的文字信息,表明成功调用连接器。 单击脚本编辑器页面上方的,启用脚本。
  • 异常处理 当数据源类型选择的是ROMA时,配置完数据接入后,MQS平台收不到消息,业务设置的EventTrigger没有拉起服务编排。现象、原因分析以及解决方法如下: 问题现象:ROMA消息轨迹是灰色的,可能是MQS服务地址配置错误或者没有配置。 解决方法:检查iotgateway容器的“roma-server”参数是否配置。若没有配置,请配置该参数或联系运维添加正确的“roma-server”地址(端口为“9776”),确认网络正常以及MQS服务器正常,兼容客户端版本。 问题现象:ROMA消息轨迹是红色的,则可能是MQS的source定义错误。 解决方法:在ROMA Connect平台查看应用ID和对应的密钥是否一致,查看该应用是否订阅了主题。配置错误时会导致鉴权失败。 问题现象:ROMA消息轨迹是绿色的, 表示MQS接收成功,并成功发送到Kafka,AstroZero也收到了对应的消息,但是可能没成功拉起服务编排。 解决方法:查看iotgateway的“flume.log”日志,确认MQS是否接收成功,通过“kafka-console-cumer”确认消息是否转换成功,通过AstroZero的日志跟踪功能或者AstroZero后台日志确认(日志关键字为“OnEvent”)平台是否收到事件。如果没有对应的服务编排或者脚本日志,可以确定服务编排未拉起,联系华为工程师解决。
  • 队列 队列是用来记录一类具有相同权限和任务对象的成员集。当需要批量处理同一类用户权限时,可以通过创建队列来实现,即通过队列给业务用户在业务流转过程中,区分不同的权限。 队列支持以下功能: 绑定一个或多个对象。 若队列绑定了对象,涉及这些对象的用户任务(例如审批流)将会投递到该队列成员进行处理。 可以给队列配置一个公共邮箱,用于接收公共通知邮件。 可以给队列成员发送邮件。 在工作流中为泳道指定某个队列,此队列中全部用户都可以操作此泳道的流程。
  • 权限配置 在AstroZero中,通过权限配置(Profile)来控制用户、业务用户等的操作权限。AstroZero当前预置了如下几种Profile标准配置文件: System Administrator Profile:系统管理员,拥有AstroZero全部权限。 Developer Profile:开发者权限,一般给用户使用,拥有此权限的用户可以在AstroZero进行开发,例如新增一个对象、为对象增加一个字段、新增一个流程等。 Portal User Profile:业务用户的权限,一般给业务用户使用,拥有此权限的业务用户可以通过服务编排鉴权登录AstroZero。 Anonymous User Profile:游客用户的访问权限,请根据自身业务需求,给Profile分配适当的权限。 Standard User Profile:运行态权限,开通AstroZero服务时自带的权限,拥有这个权限可以运行系统中的流程、对系统已有对象进行记录的增删改查操作,但没有开发权限,如新增一个对象或新增一个流程等。 NoCode Developer Profile:零代码应用开发权限,只有运行环境才会预置该权限。 NoCode Manager Profile:零代码应用数据管理权限,只有运行环境才会预置该权限。 一种权限配置可以分配给多个用户,但每个用户只能属于某一个权限配置。权限配置(Profile)中,各权限项详细介绍,请参见表1。 除了默认的权限配置外,用户还可以在默认权限配置的基础上,自定义权限配置,具体操作请参见新建扩展权限集。 图4 用户开发者权限 图5 用户开发者权限 图6 业务用户权限 图7 业务用户权限 图8 游客用户访问权限 图9 游客用户访问权限 表1 权限项说明 权限项 权限项说明 查看系统元数据 用户访问元数据的必要权限,仅用于界面提示作用,无法取消。 开发应用 系统最高的权限,拥有此权限可定制系统所有可定制的地方,默认拥有其他权限。 查看所有用户 查看用户列表和用户详情的权限。 查看角色 查看角色列表和角色详情的权限。 查看权限管理 查看权限配置列表和权限配置详情的权限。 查看扩展权限集 查看扩展权限集列表和扩展权限集详情的权限。 查看组 查看组列表和查看组详情的权限。 查看队列 查看队列列表和查看队列详情的权限。 查看业务用户 查看业务用户列表和查看业务用户详情的权限。 查看业务权限凭证 查看业务权限凭证列表和查看业务权限凭证详情的权限。 查看告警 查看告警列表和告警详情的权限。 管理告警 新增、修改告警定义的权限。 查看BPM 查看BPM定义列表和详情的权限,包括BPM关联的决策表、触发器等。 管理BPM实例 修改BPM实例详情的权限。 查看服务编排 查看服务编排定义列表和详情的权限。 查看脚本 查看脚本列表和详情的权限。 查看定时任务 查看定时任务列表和详情的权限。 查看报表 查看报表列表和详情的权限。 运行报表 查看报表运行实例的权限。 查看仪表板 查看仪表板列表和详情的权限。 运行仪表板 查看仪表板运行实例的权限。 查看所有数据 查看所有数据的权限,勾选此选项后,会忽略单个对象的权限。 运行SQL 执行SQL的权限。 查看加密数据 查看加密数据明文的权限。 查看租户跟踪日志 查看租户跟踪日志的权限。 查看敏感隐私数据 控制是否允许,以数据对象的形式,查看部分敏感数据对象的权限,例如权限配置、连接器定义等。 管理数据 在数据控制台操作任意对象的权限。 管理公告 控制开发者在工作台页面,是否有管理公告(新增、删除和编辑)的权限。
  • 业务用户(PortalUser) 业务用户是指访问在AstroZero中开发的应用的用户账号,即应用的使用者。 思考:如何判断是用户还是业务用户呢? 例如,在AstroZero中注册了账号“A”,并使用账号“A”在AstroZero中开发或安装了一个应用“X”。账号“B”是通过应用“X”注册的账号,并登录使用应用“X”。这种情况下,账号“A”是用户(User),账号“B”是业务用户(PortalUser)。应用“X”也是支持游客访问的。 图3 AstroZero中用户行为
  • 异常处理 当数据源类型选择ROMA Connect时,配置完数据接入后,MQS平台收不到消息,业务设置的EventTrigger没有拉起服务编排。 问题现象:ROMA Connect消息轨迹是灰色的,可能是MQS服务地址配置错误或没有配置。 解决方法:检查iotgateway容器的“roma-server”参数是否配置。若没有配置,请配置该参数或联系运维添加正确的“roma-server”地址(端口为“9776”),确认网络正常以及MQS服务器正常,兼容客户端版本。 问题现象:ROMA Connect消息轨迹是红色的,可能是MQS的source定义错误。 解决方法:在ROMA Connect平台,查看应用ID和对应的密钥是否一致,查看该应用是否订阅了主题。配置错误时,会导致鉴权失败。 问题现象:ROMA Connect消息轨迹是绿色的, 表示MQS接收成功,并成功发送到Kafka,AstroZero也收到了对应的消息,但是可能没成功拉起服务编排。 解决方法:查看iotgateway的“flume.log”日志,确认MQS是否接收成功。通过“kafka-console-cumer”确认消息是否转换成功,通过AstroZero的日志跟踪功能或AstroZero后台日志确认(日志关键字为“OnEvent”)平台是否收到事件。如果没有对应的服务编排或脚本日志,可以确定服务编排未拉起,请联系华为工程师解决。