更新时间:2024-08-08 GMT+08:00
分享

如何在服务编排中调用脚本

场景说明

介绍如何创建名为“GetResourceListFlow”的服务编排,由Script封装而来,用于生成资源列表中的数据,模拟用户可下载的资源。

逻辑设计

表1 设计逻辑

设计点

结合业务场景设计

服务编排类型

选择“Autolaunched Flow”。

基本图元_脚本

脚本图元配置界面选中具体的脚本,配置入参、出参。

指定图元的逻辑关系

连接起始和脚本图元。

前提条件

  • 已创建名为“Approved Resource”的Object,用于存储资源数据,该对象中需要包含如下字段。
    表2 Approved Resource对象说明

    字段标签

    字段名称

    (系统自动生成)

    字段类型

    取值

    读写权限

    是否加入界面布局

    含义

    ownerId

    ownerId__CST

    文本

    长度:255

    全选

    不勾选

    资源拥有者ID

    ResourceName

    ResourceName__CST

    文本

    长度:255

    全选

    不勾选

    资源名称

    Type

    Type__CST

    选项列表

    枚举值如下:

    • File
    • Folder

    全选

    不勾选

    资源类型

    SubmitDate

    SubmitDate__CST

    日期/时间

    不涉及

    全选

    不勾选

    资源提交时间

    ApproveDate

    ApproveDate__CST

    日期/时间

    不涉及

    全选

    不勾选

    资源审批时间

    Status

    Status__CST

    选项列表

    枚举值如下:

    • Waiting
    • Submitted
    • Approved

    全选

    不勾选

    审批状态

  • 已创建场景描述中的脚本。该脚本根据对象的数据生成资源列表数据,用于前台数据呈现。示例脚本为“ResourceListScript.zip”,单击下载链接可获取该脚本包。该脚本中定义的入参和出参说明,如表3表4所示。
    表3 入参说明

    参数

    参数类型

    说明

    ownerId

    string

    资源拥有者ID。

    limit

    number

    每页展示的资源条数。

    offset

    number

    每页展示第一条资源的偏移量,即从offset+1条资源开始展示。

    表4 出参说明

    参数

    参数类型

    说明

    resource

    struct

    返回资源数组集合。

    • approveDate:审批时间,若该记录已审批则返回审批时间。
    • ownerId:资源拥有者Id。
    • resourceName:资源名称。
    • status:资源状态。
      • Waiting:记录未提交。
      • Submitted:记录已提交未审批。
      • Approved:记录已审批。
    • submitDate:资源提交时间。
    • type:资源类型。

    totalCount

    number

    资源总数(固定100)。

操作步骤

  1. 参考如何创建服务编排中操作,创建一个服务编排,标签和名称为GetResourveListFlow。

    图1 创建服务编排GetResourveListFlow

  2. 创建该服务编排的入参和出参变量。

    由于该服务编排封装的是“ResourceListScript”脚本,所以该服务编排的入参和出参的字段类型和字段名与“ResourceListScript”脚本保持一致。
    表5 服务编排变量

    变量类型

    参数名

    Data Type

    Input/Output Type

    普通变量Variable

    ownerId

    text

    Input Only

    limit

    number

    Input Only

    offset

    number

    Input Only

    totalCount

    number

    Output Only

    结构体变量Struct

    resource

    struct

    Output Only

    1. 在服务编排编辑器页面右侧,选择,在私有结构体页面单击“新增”。
      创建输出参数结构体类型变量“resource”前,首先需要创建私有结构体类型。
      图2 添加私有结构体类型
    2. 设置页面参数。
      • 在“基本信息”中,输入结构体名字、描述信息。
      • 在“结构体成员”中,设置自定义成员变量,包括设置成员变量的名称、数据类型、是否必填、是否是集合、描述信息等。单击“新增”,可增加成员变量。成员变量需要和“ResourceListScript”脚本中定义的出参“resource”成员变量(参见表4)保持一致。

      创建私有结构体后,即可创建私有结构体变量。

      图3 配置私有结构体
    3. 在服务编排编辑器页面右侧,选择,在全局上下文页面,单击“对象变量”后的加号。
      图4 单击对象变量后的加号
    4. 选择“私有结构体”,设置页面参数。
      图5 配置私有结构体变量
      表6 私有结构体变量参数说明

      参数

      参数说明

      名称

      结构体的变量名称,与“ResourceListScript”脚本中定义的出参命名保持一致。

      本示例设置为resource。

      私有结构体

      结构体变量类型。

      本示例选择刚创建的结构体类型名称“resourcestruct”。

      默认值

      变量的默认取值。

      本示例不用配置。

      描述

      变量的描述说明,建议设置为该变量的作用。

      是否为数组

      是否为数组型变量,即集合变量。

      本示例请勾选。

      外部使用

      若勾选该选项,代表该变量为外部使用变量,翻译时不校验其是否被使用。

    5. 在服务编排编辑器页面右侧,选择,在全局上下文页面,单击“变量”后的加号。
    6. 单击新增变量后的“...”,选择“设置”。
      图6 设置变量
    7. 配置普通变量“ownerId”。
      图7 配置变量
      表7 普通变量参数说明

      参数

      参数说明

      名称

      新建变量的名称。

      本示例设置为ownerId。

      数据类型

      变量的数据类型。

      默认值

      变量的默认取值。

      本示例不用配置。

      描述

      新增变量的描述说明,建议设置为变量的作用。

      是否为数组

      是否为数组型变量即集合变量。

      本示例不用勾选。

      外部使用

      若勾选该选项,代表该变量为外部使用变量,翻译时不校验其是否被使用。

    8. 参考上述操作,创建表5中其他普通变量。
    9. 在服务编排编辑器页面右侧,选择,按照表5从全局上下文页面中拖拽参数到相应的入参和出参区域,设置服务编排的入参和出参。
      图8 设置服务编排的入参和出参

  3. 拖拽“基本”下的“脚本”图元至画布中。
  4. 单击,设置页面参数。

    将服务编排中的变量赋值给脚本中的输入参数,脚本中的输出参数赋值给服务编排中的变量。
    图9 配置脚本
    表8 脚本配置参数说明

    参数

    参数说明

    脚本

    调用的脚本名称,选择“命名空间_ResourceListScript”。

    只有在启用状态下同一应用工程内的脚本,才能被服务编排调用。

    输入参数/目标

    脚本的输入参数名称,直接在下拉框中选择。

    输入参数/源

    服务编排中的变量,为目标赋值。

    请从“全局上下文”中,拖拽之前创建的服务编排输入变量。

    输出参数/源

    脚本的输出参数名称,直接在下拉框中选择。

    输出参数/目标

    服务编排中的变量,脚本中的输出参数赋值给服务编排中的变量,请从“全局上下文”中拖拽之前创建的服务编排输出变量。

    若有多个输入参数或者输出参数,单击“新增行”,进行添加。

  5. 连接所有元素。

  6. 单击页面上方的,保存服务编排。

调试过程

  1. 单击页面上方的,输入参数后单击“运行”,运行服务编排。

    在“输入参数”中,输入如下参数:
    { 
       "ownerId":"123", 
       "limit":3, 
       "offset":1
    }

  2. 检查输出页签的结果,是否符合预期。

    输出如下:
    {
      "interviewId": "002N000000P4ApgMJOM4",
      "outputs": {
        "resource": [
          {
            "ownerId": "123",
            "resourceName": "Folder01",
            "status": "Waiting",
            "type": "Folder"
          },
          {
            "ownerId": "123",
            "resourceName": "File02",
            "status": "Waiting",
            "type": "File"
          },
          {
            "ownerId": "123",
            "resourceName": "Folder02",
            "status": "Waiting",
            "type": "Folder"
          }
        ],
        "totalCount": 100
      }
    }

  3. 单击服务编排编辑器页面右上方的“跟踪”,打开“日志跟踪器”页面。

    在“日志跟踪器”页面,可查看服务编排执行的每一步的详细信息。

    图10 查看日志详情

  4. 单击页面上方的,启用服务编排。

相关文档