在线工作流通过系统自动生成的API请求节点和API响应节点,定义在线服务的输入输出数据契约。本文为您介绍API请求节点与API响应节点的配置方法。
前提条件
当前实例需购买非结构化数据-企业版及数据服务功能后,方可使用工作流功能及全量数据服务功能。
已完成在线工作流的创建,详细创建步骤请参见创建及管理工作流。
使用限制
API请求节点和API响应节点由系统在创建在线工作流时自动生成,不支持手动新增或删除。
单个在线工作流中仅支持一个API请求节点和一个API响应节点。
配置API请求节点
API请求节点为在线工作流的根节点,用于将调用方传入的请求参数注入到工作流变量上下文,供下游算子使用。
在画布中单击API请求节点,在配置面板中配置以下参数:
参数 | 描述 |
步骤名称 | 节点名称,默认为API请求,支持任意字符,不超过256个字符。 |
绑定的API | 选择API数据集及其版本,可选择当前租户下所有已提交的API数据集。下方区域将展示所选API数据集的基本信息(包含名称、路径、方法、调用模式、API超时和执行超时),您可单击查看详情跳转至对应数据集查看页面,查看更多信息。 |
请求参数 | 请求参数列表中字段将从所选API数据集中同步,不支持修改。 |
配置完成后,下游算子可通过{api_request.<参数名>}引用API请求节点输出的变量,例如{api_request.file_url}。
配置API响应节点
API响应节点为在线工作流的叶子节点,将上游算子的输出作为HTTP响应主体。
在画布中单击API响应节点,在配置面板中配置以下参数:
参数 | 描述 |
步骤名称 | 节点名称,默认为API响应,支持任意字符,不超过256个字符。下方区域展示API请求节点中所选的API数据集,此处不支持修改,如需更换API,需重新新建工作流。 |
字段映射 | 字段列表将从所选API数据集的返回参数中同步,参数名称及其类型不可修改。同时,需要为每个字段选择来源。来源可选择上游节点的输出字段或不返回该字段。 当字段类型为URL时,可通过文件拷贝控制是否将该URL对应的文件从临时存储拷贝至持久化存储:开启后拷贝文件并返回拷贝后的新URL;关闭后直接返回临时存储中的原URL。仅来源为API请求节点的URL类型字段支持关闭,来源为其它算子输出字段的URL类型字段强制执行文件拷贝,不支持关闭。 |
查看错误码说明 | 单击查看错误码说明,可查看408、402、502、503错误码的响应 |
提交工作流时若存在未配置的API响应字段,则提交失败。
错误体字段(
code、message、traceId)由平台运行时注入,不包含在API响应字段列表中,无需配置。
字段映射规则
API响应节点的字段映射规则由所绑定API数据集的操作类型决定。两种操作类型均不支持引用ForEach循环算子内部子算子的中间结果,可直接引用其他算子的输出结果。
GET:
results恒定返回一行数据。上游ForEach循环算子聚合输出的数组只能作为一个字段整体返回,字段类型支持STRING、ARRAY和OBJECT,其余字段均为单值。不支持通过数组下标引用数组中的某一个元素,如需返回具有特定业务含义的元素,可在ForEach循环算子后增加排序或结果加工算子,产出对应字段后再引用。List:
results返回的数据行数与所选结果来源数组的元素个数一致。需先选择结果来源,即需要展开为多行的主数组,可选范围为当前API响应节点在画布上所有上游可达算子输出的ARRAY类型字段。选择完成后,通过数组字段名称[*].字段名称引用该数组中的字段,数组的每个元素展开为一行数据;引用的字段为单值时,所有数据行均返回相同的值。切换结果来源后,原先引用其他数组的字段映射需重新修改。
目标参数类型与映射表达式的对应关系如下。
目标参数类型 | 映射表达式 | 说明 | 适用操作类型 |
标量类型,如STRING、INTEGER |
| 数组的每个元素展开为一行数据。 | List |
ARRAY<OBJECT> |
| 数组整体作为该字段的值,不展开。 | GET、List |
ARRAY<STRING>、ARRAY<INTEGER> |
| 取数组中每个元素的指定字段值组成数组。 | GET、List |
单值类型 |
| 直接作为该字段的值,List操作类型下所有数据行均返回相同的值。 | GET、List |
映射变更同步规则
当绑定的API数据集修改并提交后,已绑定的在线工作流将按以下规则同步参数变更。
变更场景 | 处理策略 |
新增返回参数 | 响应字段列表新增一行,来源为空;工作流状态由已提交变为草稿,需重新提交。 |
删除返回参数 | 响应字段列表删除该行;如该行的来源原本非空,系统提示该字段已从契约删除,本节点不再输出该字段。 |
修改参数名称 | 同步重命名。若API请求节点中该参数已被其他节点引用,系统提示上游参数名称变更,请复查下游节点。 |
修改参数类型 | 同步变更。若下游节点参数类型不兼容,系统提示错误。 |
修改取值路径 | 仅同步响应字段列表中参数名称列的展示表达式,不影响工作流状态。 |
异步调用模式说明
API响应节点的字段映射始终基于API数据集中定义的返回参数,与调用模式无关。异步调用的状态查询、任务拉取等能力由数据服务网关统一提供,无需在工作流画布中配置。
当绑定的API数据集调用模式为异步调用时,调用方需通过GetJobStatus接口轮询任务结果,异步调用流程说明请参见通过直连数据源模式创建API(查询类型)。