新增服务编排

服务编排在执行时,系统将根据设定依次执行各个服务节点、传递服务节点参数并自动管理每个服务节点的状态转换。服务编排功能可极大简化多个服务之间组合调用的开发和运维成本。

进入“新增服务编排”入口

进入“API管理”-“API管理”-“API”页面,点击“新增服务编排”按钮。

新增服务编排

基本信息配置

服务编排基本信息
  • 服务编排名称:仅支持输入英文、数字、下划线。

  • 服务编排中文名称:用户可输入中文对服务编排进行标识。

  • path:path即服务编排调用路径,填写后生成的服务编排调用 URL 中将包含path,可帮助用户快速识别调用的服务编排。

  • 标签:便于在申请时利用标签更快速地找到所需申请的服务编排。
    标签使用步骤 单击输入框,数栈展示当前已生成的标签,用户可选择已有标签或在输入框输入内容搜索匹配,若没有所需标签,用户可在输入框中直接输入所需标签,按回车键后系统自动生成单个标签。

  • 超时时间:可填写1-30秒范围内整数,最大值可通过配置文件修改。

  • 单用户每秒调用次数上限:限制单用户每秒对服务编排的调用次数的上限,默认是2000。

  • 安全组:安全组用于限制访问服务编排的黑白名单,保障访问的安全性。每个安全组是一组IP地址,用于限制此服务编排在这些IP范围内调用或禁止调用,如果用户未建立任何安全组,可进入安全组进行新建。安全组修改后于立即生效。

若填写path,服务编排测试URL(用于第三方工具测试,测试无误后可发布服务编排至生产环境)中将包含path,不影响正式调用服务编排的URL。URL构成如下:
服务编排测试URL:…​/api/gateway/orchestration/test/{项目英文名称}/{path}/{服务编排名称}
服务编排正式URL:…​/api/gateway/orchestration/{项目英文名称}/{服务编排名称}

配置节点连线和参数映射

概述

服务节点

服务编排包括START节点、API节点、Python节点、END节点。

  • START、END节点是无法删除的固定节点,代表着服务编排的开始和结束。

  • API、Python节点承担着服务编排中实际内容传递的作用。

用户可拖拽API/Python节点至界面中,和已有的START、END节点相连以配置服务编排逻辑, 相连的节点间存在依赖关系(右键单击可解除)。

构建依赖关系
删除依赖关系

支持服务编排正常运行的依赖关系需遵守以下规则:

  • START节点可有多条输出连线

  • API、Python节点必须同时有输入输出连线

  • END节点只能有1条输入连线

  • 所有连线不可成环

START节点

START节点配置

START作为统一外层参数传递入口,通过“节点配置”-“服务编排输入参数配置”传递下游节点所需的输入参数值。

输入参数配置
测试值必填
  • 服务编排输入参数:用户点击“添加参数”可新增需要传递的入参。参数名称需和下游节点中相匹配。 示例:START节点向下游api_node2节点skzlmc参数传递入参,skzlmc需识别由input1参数传入的参数值,识别方式为$.input1

  • 勾选“是否必填”:正式调用时必须输入json格式的入参。

API节点与Python节点

节点配置

选择API:可选范围包括项目内所有的生成API及注册API(包括已保存、已提交、已发布状态)。
选择Python函数:当前项目中所有已提交的函数。
API参数:选择API已配置完成的入参、出参、分页参数,仅供用户浏览。

API输入参数配置

API节点输入参数配置

  • 是否必传:“是否必传”选项为“是”时,正式调用时必须输入json格式的入参。

  • 对应上游节点:用户点击“编辑”后,可配置当前节点的输入参数与其上游的一个或多个节点的输出字段映射关系,字段的可选范围为与该节点有连线连接的上游节点,故用户需通过连接线与上游构建依赖关系后,才可在“对应上游节点”进行配置,“-”表示该节点无上游关系。
    示例:api_node2节点skzlmc参数的入参由START节点传递,故api_node2需先于START节点构建连线关系,START节点存在指向api_node2的箭头,并通过$.input1识别START节点传递的参数。

  • 值:上游节点为API、Python时必填,填写内容为JSONPath格式,上游节点为Python时JSONPath格式区分大小写。

  • 分页参数:API实际输出如果超过1000条,默认以1000条/页的形式进行分页。用户可通过START节点传参的方式指定获取某页的API输出内容,若不指定,系统默认获取第一页内容(即前1000条数据),用户可通过配置文件修改每页可获取的记录数。但需注意的是,每页可获取的记录越多,服务编排运行的整体耗时越长,性能会受到一定影响。

  • 测试运行:测试API节点的单点运行状态。

JSONPath表达式 含义

$.

获取节点的根对象

$.param

获取节点根对象的param参数值

$.param[0]

获取节点根对象的param参数中的第1个值

Python节点输入输出参数配置

  • 对应上游节点:用户点击“编辑”后,可配置当前节点的输入参数与其上游的一个或多个节点的输出字段映射关系,字段的可选范围为与该节点有连线连接的上游节点,故用户需通过连接线与上游构建依赖关系后,才可在“对应上游节点”进行配置,“-”表示该节点无上游关系。

  • 测试运行:测试Python函数单点运行状态。

默认将上游节点的结果全部传入Python节点。

运行

  • 单点运行:以JSON格式填入测试值,右键单个节点后,点击“运行”可对单个节点的提交版本进行测试。

单点运行
  • 全流程运行:点击左上方的“运行”按钮,系统基于START节点中的测试值运行服务编排所有节点,获得最终结果。

运行
有一个节点运行失败时整个流程停止运行。
服务编排一旦执行无法人为终止,建议在本地调试完毕后再于本服务中测试。