云服务器内容精选
-
简介 工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)不仅为用户提供了丰富的标准API(如数据实体API、关系实体API、系统管理API),还提供了高代码的服务编排能力,适配Java和JavaScript类型服务编排。当iDME提供的标准API无法满足用户的业务需求时,用户可使用服务编排能力编排原子API形成一个跨实体(表)的组合API,提高应用开发的速度与质量。
-
编排限制 表1 服务编排内容限制 编排类型 说明 Java类型 支持编排如下内容: xDM-F的内置模型 用户自定义的数据模型 Java集合类,例如Collection接口和Map接口 Java包装类,例如Integer类、Byte类、Float类和Double类 正则表达式,例如Pattern类和Matcher类 时间相关类,例如java.util包下的java.util.Date和java.util.Calendar类 JSON相关类,例如Jackson类库 Lombok项目 持久化功能相关类,例如GeneralCrudService JavaScript类型 不可转义:`、'、;和"。 不可转义,但可在SQL中转换:{。 例如,有一条如下所示的SQL语句: select 1 from tablename where name='{}' 可在SQL中进行如下转换: select 1 from tablename where name=chr(123)||'}' 可转义:(、)和|。 例如,(转义成\\(,)转义成\\),|转义成\\|。
-
服务详情页介绍 在“聚合服务”页面,您可单击具体服务的“编码”链接,查看对应服务的详情,包括“服务定义”、“服务开发”、“服务测试”、“服务发布”、“数据集配置”、“修订记录”等。 表1 实体详情页签介绍 详情页签 说明 服务定义 展示当前服务的基本信息、图结构,入参、过滤条件以及出参等信息,其中纯脚本服务无“编辑图结构”和“设置过滤条件”。 基本信息:包括服务基本信息、服务权限信息、API调用方式、服务发布信息及版本信息等。 编辑图结构:服务涉及的模型以及关系组成的图结构。 设置入参:展示服务入参信息。入参指的是API接口中需要前台用户输入的参数。 设置过滤条件:展示已设置的服务入参的过滤条件。 设置出参:展示服务出参信息。出参指的是API接口中的返回参数。 服务开发 展示当前服务的功能脚本,支持快速调测服务。 服务测试 展示当前服务的测试用例,支持执行测试用例并查看结果。 查看测试用例详情:单击具体用例的“用例编码”超链接,查看用例信息详情。 查看测试用例执行结果:单击具体用例“操作”列处的,查看已执行过的测试用例结果。 服务发布 展示当前服务已配置服务发布所需的响应参数等。 数据集配置 展示当前服务数据集配置信息(详细可参见数据集配置)。 说明: 仅“服务定义”基本信息阶段中“支持服务运行结果保存为数据集”为“是”时,才显示该页签。 修订记录 展示当前服务的所有版本修订记录。修订记录不可创建和编辑,如果对应服务有新的修订记录则会自动更新到该页面。 查看详情:单击“修订号”超链接,弹出对应记录的详细信息。 版本对比:勾选2个不同的版本后,单击“图结构对比”,根据需要选择“全量比较”或“差异比较”页签查看。 父主题: 聚合服务编排
-
URI POST AstroZero域名/u-route/baas/v1.0/flow/{action}/{name_or_id} 表1 参数说明 参数 是否必选 描述 action 是 需要对服务编排执行的操作,各个操作取值及其含义如下: start:启动服务编排,系统标准启动操作。 run:开始执行服务编排,自定义启动操作。 next:执行服务编排的下一步。 back:执行服务编排的上一步。 finish:结束运行的服务编排,即正常完成服务编排。 terminate:终止运行的服务编排实例和相关资源。 del:删除服务编排实例和相关资源。 name_or_id 是 当action取值为start或run时,需为服务编排名称。其他操作需为服务编排的运行实例ID,可通过调用查看服务编排运行实例接口查看(响应消息中的“id”)。
-
响应参数 表2 响应参数 参数 参数类型 描述 resCode String 返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 result Object 在成功请求时,会有内容返回。内部包含interviewId和outputs两个字段,result字段的说明请参见表3。 表3 result字段说明 参数 参数类型 描述 interviewId String 服务编排的运行实例ID。流程启动成功后,可以从返回结果中获取到运行实例ID。 outputs Any 结果,服务编排的执行输出,由服务编排输出决定,可为任意取值。
-
请求示例 开始运行服务编排,例如调用start命令执行了服务编排“testFlowXyz”,传入参数为自定义的参数。 POST https://AstroZero域名/u-route/baas/v1.0/flow/start/testFlowXyz { "paramA": "valueA", "paramB": { "subParamBA": [ "A", "B" ], "subParamBB": "BB" } }
-
初识服务编排编辑器 服务编排编辑器页面由上方按钮区域、左侧图元面板区域、中间画布区域和右侧参数配置区域四部分组成。 图3 服务编排编辑器页面 表1 区域说明 区域 区域说明 按钮区域 功能按钮区域,包括启用(或者禁用)、保存、另存为新版本或者新服务编排、执行服务编排、操作回退、撤销回退等,支持快捷键操作,即可脱离鼠标直接用键盘操作。 服务编排启用后,单击页面右上角的,可查看该组件的调用关系图。 图元面板区域 图元面板区域呈现服务编排编辑器的图元算子。服务编排编辑器以图元算子为基础,可直接将图元算子拖入画布区域进行逻辑编排。图元算子包括如下五类: 基本:基本类型图元,能够实现在服务编排中进行脚本或者服务编排的调用,增/改/删/查对象记录,以及发送邮件、发送事件的功能。 逻辑:逻辑判断图元,能够实现在服务编排中进行变量赋值Assignment、循环Loop、跳出循环Break、决策Decision、等待Wait的功能。 BO:商业对象图元,即将封装好的BO能力作为服务编排中的一个节点,实现特定的业务功能图元。 Native服务:原生服务图元,用于调用原生服务提供的接口。 连接器:与第三方系统对接的图元,例如将短信发送、支付等第三方连接器作为当前服务编排中的一个节点图元。 画布区域 服务编排设计操作区域,在该区域可对服务编排进行具体流程设计、图元放置。 配置区域 整个服务编排或图元的属性设置区域。选择画布区域服务编排中具体图元时,右侧配置区域为该图元的属性设置区域。选择服务编排中空白区域或者开始图元时,右侧配置区域为该服务编排的设置区域。 :服务编排基本信息配置菜单。 :显示服务编排类型、是否启用。 :整个服务编排的入参、出参,可从“全局上下文”中,选择变量拖拽到服务编排的入参、出参中。 :服务编排使用的私有结构体。 :全局上下文变量,主要用于创建服务编排中需要使用的变量、公式以及结构体变量等。
-
创建您的第一个服务编排 此处以创建一个根据传入的用户名,配置欢迎信息的简单业务场景为例,向您介绍如何创建一个服务编排。 参考如何创建服务编排中操作,创建名称和标签为“HelloFlow”的服务编排。 创建变量。 在服务编排设计器中,单击,进入全局上下文页面。 单击“变量”后的,创建表2中的变量。 图4 创建变量 表2 变量说明 变量名 类型 变量说明 userName 文本 传入的用户名 message 文本 欢迎信息 在全局上下文中,除了创建基本类型的变量,还可以创建“常量”、“公式”、“对象变量”、“系统变量”和“全局常量”,详情请参见变量及输入输出参数配置。 单击,配置服务编排的输入输出参数。 图5 配置输入输出参数 将“逻辑”中的“赋值”图元,拖拽到画布中。 赋值图元可以实现对全局上下文中变量等参数进行赋值,其他图元的详情介绍,请参见图元配置。 图6 拖拽赋值图元到画布 配置图元。 选择赋值图元,单击。 在“赋值”页面中,单击“新增行”,参照下图将创建的变量拖拽到相应的位置。 将“"Hello,"”赋值给message变量,并将userName变量拼接到message变量中,赋值语句将从上往下依次执行。 图7 配置赋值图元 连接图元指定逻辑关系,即从开始图元连向赋值图元,表示服务编排开始执行后,执行赋值图元的赋值语句。 图8 连接图元 单击页面上方的,保存服务编排。 单击,进入服务编排调试页面。 在输入参数中,输入如下内容,并单击“运行”。 { "userName": "AstroZero" } 运行结果如下,输出“Hello,AstroZero”。 图9 运行结果 单击页面上方的,启用服务编排。 调试已创建的服务编排。 在新版应用设计器左侧导航栏中,选择“集成”。 单击开放接口后的,新建一个helloFlow开放接口,单击“保存”。 图10 新建开放接口helloFlow 在新版应用设计器左侧导航栏中,选择“集成”。 单击开放接口后的,选择“查看”。 图11 查看API 在预览页面,单击“测试一下”,输入示例模型,单击“运行”。 图12 测试接口 图13 查看API测试结果
-
如何创建服务编排 参考如何登录新版应用设计器中操作,登录新版应用设计器。 在左侧导航栏中,选择“逻辑”。 单击编排后的“+”,设置参数,单击“添加”。 图2 创建服务编排 创建一个新的服务编排:从零开始,创建一个新的服务编排。 使用已有的服务编排:基于同一租户或基线里已有的服务编排,来创建一个服务编排,方便用户快速继承已有服务编排的配置,增加效率。 类型:服务编排的类型。 Autolaunched Flow:自启动Flow,在接口调用后会立即执行服务编排模型定义的逻辑。 Event Trigger:事件触发的服务编排,在事件触发时才会开始执行服务编排模型定义的逻辑。当选择该类型时,您需要配置具体的事件以及条件规则。 标签:新建服务编排的标签名,用于在界面展示。 名称:服务编排在系统中的唯一标识,创建后不支持修改。系统会自动在名称前添加“{命名空间}__”,当其他功能调用服务编排时,调用的是服务编排的名称,而不是标签。 描述:新建服务编排的描述信息,通常设置为服务编排的功能。
-
返回结果 表2 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表3 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 reason str 参数解释: HTTP文本描述。 默认取值: 无 errorCode str 参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 errorMessage str 参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 requestId str 参数解释: OBS服务端返回的请求ID。 默认取值: 无 indicator str 参数解释: OBS服务端返回的错误定位码。 默认取值: 无 hostId str 参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 resource str 参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 header list 参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 body object 参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无 表4 返回结果 GetResult.body类型 说明 表5 参数解释: 响应结果,详见表5 表5 RestoreFailedWorkflowExecutionResponse 参数名称 参数类型 描述 executionUrn str 参数解释: 运行实例的URN 默认取值: 无 restoredAt str 参数解释: 运行实例的恢复启动时间 默认取值: 无 executionName str 参数解释: 运行实例的名字 默认取值: 无
-
操作步骤 参考如何登录新版应用设计器中操作,登录新版应用设计器。 在左侧导航栏中,选择“集成”。 在开放接口后,单击,进入新建开放接口页面。 设置开放接口参数。 图1 开放接口配置页面 表1 新建开放接口参数说明 参数 参数说明 标签 新建接口的标签。 操作名称 新建接口的操作名称。 版本 URL对应的版本号。 URL 新URL地址,其中“/service”为固定值,其次是“/App名称/版本号”,剩下部分进行自定义。 自定义的URL需要符合一定规则,规则如下: 必须以单个“/”开头。 可以配置多级路径,两个或者多个“/”之间必须有内容。 内容类型 请求中的body类型。 application/json multipart/form-data binary-data “multipart/form-data”和“binary-data”用于文件上传接口,选择该内容类型,只能调用POST类型的脚本。 分类 新建接口所属的分类。 描述 新建接口的描述信息,建议设置为API的作用。 允许匿名访问 是否可匿名访问运行环境中,该API接口。 勾选表示允许匿名访问,通过运行环境子域名访问此接口时,如果无有效的Token认证信息,则以匿名用户身份继续访问此接口,且不需要做CSRF校验。匿名用户的权限为“Anonymous User Profile”,请确保该权限具备访问该接口的业务权限凭证或者相关资源权限。如当该接口有配置业务权限凭证时,给“Anonymous User Profile”权限添加相应业务权限凭证,即可通过运行环境子域名匿名访问该接口。 说明如下: 需要支持匿名访问自定义接口的账号,必须要设置运行环境子域名。 带有合法认证信息来访问允许匿名访问的自定义接口时,优先以合法认证的身份权限来访问。 匿名用户身份访问自定义接口,不需要做CSRF校验。 不论以什么方式来访问, 认证身份后做的权限校验保持一致。如果配置了业务权限凭证,还会查看用户权限,是否配置了相应的业务权限凭证。 例如:登录业务应用接口“login”的URL为“/service/命名空间__MyApp/1.0.0/login”,运行环境子域名为“test.example.com”,期望可匿名访问该自定义接口,则配置接口时请勾选“允许匿名访问”,且“Anonymous User Profile”权限配置了该接口的业务权限凭证,则匿名用户通过“https://test.example.com/service/命名空间__MyApp/1.0.0/login”,即可访问该接口。 类型 系统支持以下三种类型。 服务编排:表示该定义URL调用的接口类型是服务编排。 脚本:表示该定义URL调用的接口类型是脚本。 对象:表示该定义URL是操作对象数据,包括对象数据的增删改查。 本示例选择服务编排。 自定义响应 是否需要格式化,调用该URL后返回的响应消息。如果勾选,表示对响应消息进行格式化,删除resCode、resMsg、result外层信息,只透传返回的消息。 例如,不勾选“自定义响应”,返回如下响应消息: { "resCode": "0", "resMsg": "成功", "result": [ { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" } ] } 勾选“自定义响应”后,只返回如下响应消息: { "equipments": [ { "createdBy": "aaa", "createdBy.__objectType": "User" }, { "createdBy": "aaa", "createdBy.__objectType": "User" } ], "total": "2" } 资源 调用的服务编排、脚本或操作的对象名称。 对象操作 请选择具体的操作。当“类型”选择为“对象”时,该参数才会显示。 Insert Record:新增对象数据。 Update or Insert Record:更新或者新增对象数据。 Update By ID:按记录ID更新对象数据。 Delete By ID:按记录ID删除对象数据。 Query By ID:按记录ID查询对象数据。 Update By Condition:按条件更新对象数据。 Delete By Condition:按条件删除对象数据。 Query By Condition:按条件查询对象数据。 方法 映射后调用的方法名,如GET(查询)、PUT(增加)、POST(修改)和DELETE(删除)等。 输入参数/输出参数 展示服务编排的入参、出参,同时支持修改未受保护资源的参数描述。由于开发人员在开发服务编排过程中,可能未设置或未精确添加参数的描述信息,导出自定义接口的yaml描述文档时对参数的描述就会缺失或模糊。在开放接口二次封装服务编排时,可对参数描述进行编辑补充。 当“类型”选择为“服务编排”时,该参数才会显示。 设置完成后,单击“保存”。 保存后,进入接口详情页。在接口详情页的“基本信息”区域,勾选“是否已废弃”后,可配置是否推荐使用该接口。若不推荐使用,勾选“是否已废弃”,勾选后,在后续使用到该接口时,会显示该接口“已废弃”的提示,但接口仍可被调用。 接口创建完成后,支持在线进行测试。 在新版应用开发设计器左侧的导航栏中,选择“集成”。 在开放接口中,单击对应接口后的,选择“查看”,进入接口预览页面。 在接口预览页面,单击URL后的。 单击“测试一下”,如果有输入参数,设置输入参数后,单击“执行”。 返回成功响应,表示接口调用成功 。
-
处理图元的异常 支持异常处理的服务编排图元包括子服务编排图元、脚本图元、记录创建图元、记录删除图元、记录查询图元、记录删除图元、连接器图元和BO图元。当服务编排中使用这些图元时,对可能引入错误的每个图元都需要做异常处理判断。 在定义服务编排时,如图1所示,从图元中拖出一条异常处理的连线,连线类型选择“出错时”。 当流程走到对象记录查询图元出现异常时,就会走连线类型为“出错时”的分支,执行图元“Assignment1” 。 图1 处理图元异常 (可选)如果需要关注出错后的具体错误码和错误信息,则执行该步骤。 如图2所示,配置图元“Assignment1”,通过系统变量 “$Flow.FaultCode” 和 “$Flow.FaultMessage”获取这些图元出错后的错误码和错误信息,这些错误信息是系统返回的。 图2 输出错误信息
-
流程结束时返回错误 如图3所示,将赋值图元作为流程结束的节点,通过系统变量 “$Flow.ResCode” 和 “$Flow.ResMsg”自定义流程出错后的错误码和错误信息。 服务编排中,关于错误码的系统变量有两类,区别如下: “$Flow.FaultCode” 和 “$Flow.FaultMessage”为系统返回的错误码和错误信息。 “$Flow.ResCode” 和 “$Flow.ResMsg”为自定义输出的错误码和错误信息。 图3 流程结束时返回错误
-
注入符号限制 Java类型:无限制。 JavaScript类型: 不可转义:`、'、;和"。 不可转义,但可在SQL中转换:{。 例如,有一条如下所示的SQL语句: select 1 from tablename where name='{}' 可在SQL中进行如下转换: select 1 from tablename where name=chr(123)||'}' 可转义:(、)和|。 例如,(转义成\\(,)转义成\\),|转义成\\|。
-
操作步骤 参考如何登录经典应用设计器中操作,登录经典版应用设计器。 将鼠标放在某个文件夹上,单击加号,选择“BPM”,去创建一个BPM。 图1 创建一个BPM 在BPM开发设计页面,选中空白区域,在右侧配置界面选择。 在“基本信息”页面,可以设置BPM的流程是否可以撤销,以及通过哪个元素后不允许撤销。 图2 BPM基本信息配置 设置后,在运行态可查看到“撤销”按钮,终止的流程该按钮置灰。 图3 运行态效果 单击,在运行态配置页面的“实例显示名”中,可配置BPM运行后,BPM实例在运行态的显示名。 在运行态配置页面的“BPM布局”区域,单击实例详情后的,可编辑BPM运行态布局。 图4 编辑BPM运行态布局 在编辑布局页面,支持修改“实例基本信息”、“当前任务”、“流程历史”的运行态显示标题,还可以编辑“流程历史”中需要显示的列。 单击编辑器上方的,保存BPM。 运行BPM后,在经典版应用设计器左侧,单击,可预览该应用。 在应用预览界面,单击“历史”,在历史任务中单击该实例后的“查看”,可查看到该BPM的运行态布局,查看布局是否符合预期。 图5 预览应用 图6 历史任务 图7 BPM运行态布局
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格