ASTRO轻应用 ASTROZERO-创建HelloWorld应用:步骤3:开发应用-创建服务编排

时间:2024-04-28 13:51:47

步骤3:开发应用-创建服务编排

【思考】什么是服务编排?

服务编排功能是AstroZero的核心功能之一,即是在可视化、模板化的服务编排页面,通过拖拽图元,并配置图元,再拖拽相关参数,就可以实现特定的业务逻辑的一种开发方式。

服务编排类似于编程中一段有流程、条件处理、判断逻辑的程序。这段程序有输入参数和输出参数,可以独立成为一个对外调用的方法。同时,在服务编排内部,也可以调用其他的方法。

本示例中,创建服务编排目的是操作一个存放词条的自定义对象,实现将服务编排中获得的入参信息,分别以“词条名”、“词条描述”字段写入到词条对象helloObject中。如果您还没有创建,请查阅创建存放词条的自定义对象章节,进行创建。

  1. 在规划存放服务编排的目录“Logic”下,创建服务编排。

    将光标放在“Logic”目录上,单击右侧“+”。在弹出的菜单中,选择“服务编排”。

    图13 创建服务编排

  2. 在对话框中,输入服务编排的“名称”为“helloFlow”,单击“标签”的输入框后,系统将自动生成名称为“helloFlow”,再单击“添加”。

    图14 添加服务编排
    表4 服务编排基本信息

    参数名

    参数说明

    本示例需要填写的值

    创建一个新的服务编排

    创建一个新的服务编排流程。

    保持默认,选中“创建一个新的服务编排”。

    使用已有的服务编排

    基于已有的服务编排创建。方便用户快速继承已有服务编排的配置,提高效率。

    不设置。

    标签

    服务编排用于展示的名称,创建后可修改。

    helloFlow

    名称

    服务编排在系统内的唯一标识,创建后不可修改。

    系统会自动在该名称前添加命名空间__。当其他功能调用服务编排时,调用的是服务编排的“名称”,而不是标签。

    helloFlow

    说明:

    实际创建的服务编排名为:CNAME__helloFlow

    类型

    服务编排的类型。

    • Autolaunched Flow:自启动服务编排,在接口调用后会立即执行服务编排模型定义的逻辑。
    • Event Trigger:事件触发的服务编排,在事件触发时才会开始执行服务编排模型定义的逻辑。选择该类型时,需要配置具体的事件以及条件规则。

    保持默认类型:Autolaunched Flow

  3. 定义变量,作为后续获取前端页面的输入值,同时也是操作词条对象helloObject的字段。

    单击,展开“全局上下文”,再单击“变量”后的“+”,修改“variable0”为“name”;再次单击“+”,创建变量“detail”。这里创建的“name”、“detail”分别对应词条对象helloObject中的“词条名”、“词条描述”字段。

    “全局上下文”是定义服务编排中使用到的变量列表区域,服务编排中支持定义变量、变量集、常量、结构体等参数,具体变量创建方式及变量说明请参见配置服务编排变量以及输入输出参数

    图15 新增变量

  4. 在服务编排中,添加并配置“记录创建”图元。

    “记录创建”图元是通过关联当前应用(HelloWorld)中已存在的一个对象(词条对象helloObject),然后通过设置对应的操作字段(name、CNAME__detail__ CS T),实现向这个对象中增加记录的功能。AstroZero预置了多种逻辑图元,详细图元分类及功能介绍,请参见图元介绍

    1. 在左侧图元列表中,单击“基本”,拖拽“记录创建”图元到画布中,“标签”修改为“创建记录”,“名称”保持默认。
      图16 拖拽创建记录
    2. 单击,配置“记录创建”图元。

      先单击“对象”下拉框,选中词条对象“CNAME__helloObject__CST”。对象设置后,“赋值”下自动显示对象下可以被赋值的字段(name、CNAME__detail__CST);再单击“全局上下文”,然后从全局上下文中,分别拖拽变量“name”、“detail”到对应“源”输入框中。关联之后,变量从前端获取到值后,将会传给对象中的字段。

      图17 拖拽需要修改对象字段

  5. 定义输入参数,并保存服务编排。

    这里的入参、出参指的是整个服务编排的入参、出参,具体参数需要从“全局上下文”列表中拖拽。
    1. 在画布上,把鼠标放在起点图元上,从“+”拖动鼠标,在起点图元和“创建记录”图元间增加连线。
      图18 连接图元
    2. 鼠标在画布空白处点一下,单击右侧,设置服务编排的输入参数。
      图19 拖拽服务编排的输入参数“name”、“detail”
    3. 单击服务编排界面上方的,保存服务编排。

  6. 测试服务编排能否正常执行。

    1. 单击服务编排编辑器上方的,进入执行服务编排页面。
    2. 在输入参数中,输入测试数据,单击“运行”。
      {
          "name": "helloWorld",
          "detail": "helloWorld 是我的第一个应用"
      }

      执行成功,界面上会返回设备对象中的全部信息,样例如下:

      {
          "interviewId": "002N000000edyfrHJiLV",
          "outputs": {}
      }

  7. 启用服务编排:测试成功,单击服务编排编辑器上方的,启用服务编排。

    如果服务编排创建完成后,未启用默认是属于编辑状态,不能被页面调用。

    图20 服务编排启用后高亮状态

support.huaweicloud.com/qs-astrozero/astrozero_02_0111.html