文件下载算子可基于浏览器可访问的文件地址,下载文件,并将文件存储在系统内部对象存储中,最终通过输出字段将下载文件输出至下游节点进行业务处理(如让知识分段算子读取进行切片)。本文介绍如何使用文件下载算子。
文件下载算子参数配置说明如下:
| | | \
| 参数 | 说明 |
|---|---|
| 文件URL字段 | 选择上游节点的输出字段,以获取文件原始可访问的公开地址。 |
| 请求方式 | 支持GET、POST两种请求方式。 |
| * GET:用于获取资源,参数附在URL中 | |
| * POST:用于提交数据,参数通过请求体传递 | |
| OAuth认证 | 支持 OAuth2 授权码模式。 |
| :::warning | |
| 当请求需要访问采用 OAuth2 授权码模式的第三方服务接口时启用此功能。 | |
| ::: | |
| 1. 点击授权,打开侧边栏,在此输入授权基础信息(AK、SK和授权跳转地址),具体获取方式见相关三方网站文档,配置完成后点击「下一步」。 | |
|  | |
| 2. 如果用户是第一次利用该AK和授权跳转地址组合配置授权信息,需要进一步获取AccessToken配置和RefreshToken配置。配置API地址、请求方式、请求参数、返回参数等相关信息,点击确认后浏览器自动发起请求授权链接,跳转三方授权页面。 | |
|  | |
| 3. 用户完成授权后,自动回调ABI统一授权回调地址。ABI回调会根据先前用户的授权配置,后台同步发起【获取Access Token】【获取Refresh Token】请求,校验通过后配置生效,回到数据连接页即可见完成授权。 | |
| :::warning | |
| * 三方网站授权通常针对单个 AK 维度,多个数据链接若使用同一 AK,需共享同一个授权。 | |
| * 系统会根据授权链接 host 和 AK 自动匹配有效授权;若无,则需首次配置。 | |
| * 系统无法校验三方出参(无统一格式),请仔细检查参数,避免因参数错误导致接口返回失败。若授权地址和 AK 相同,系统将自动匹配上次配置,错配数据只能订正后重新配置。 | |
| * 【获取Access Token】回调请求中 code 对应的参数 key 固定为 “code”,无法修改。 | |
| ::: | |
| 参数设置 | 构造完整的 API 请求参数,包括请求头、请求参数、请求体与前置操作。 |
| 参数设置部分通过标准化流程引导用户配置请求的基本信息,包括请求头、请求参数、请求体,以及前置操作。系统提供了内置变量和内置函数,具体可参考系统内置变量、系统内置函数。 | |
| :::tip | |
| 参数value支持静态参数值、动态参数值,具体填写规范如下: | |
| * 静态参数值:填写API参数的具体值即可,如“male”。 | |
| * 动态参数值:请按照${params}格式填写,其中params指的是「前置操作」输出字段的名称,该字段下的值将作为API参数的入参值。如以下场景,假设API的入参是object_id,要将「前置操作」中的字段unit_id的值作为object_id的入参值,那么API配置中,key是object_id,value是${unit_id}。 | |
| ::: | |
| * 请求头:支持配置key、value,支持添加、删除操作,最多可配置10组。 | |
| * 请求参数:输入请求所需的所有查询参数。 | |
| * 请求体:选择请求体类型(raw、form-data、x-www-form-urlencoded),均支持用户输入JSON格式的请求体。 | |
总则:对JSON进行操作,$表示根节点,.号表示取子节点。 |
|
| 如果JSON数据为: | |
| ```JSON | |
| { | |
| "showapi_res_error": "", | |
| "showapi_res_id": "6597a2f5fb638cf45b4d460c", | |
| "showapi_res_code": 0, | |
| "showapi_fee_num": 1, | |
| "showapi_res_body": { | |
| "list": [ | |
| { | |
| "time": "14:26:57", | |
| "zhesuan": "193.69", | |
| "code": "AED", | |
| "hui_out": "195.91", | |
| "chao_in": "192.95", | |
| "chao_out": "199.47", | |
| "name": "阿联酋迪拉姆", | |
| "hui_in": "194.55", | |
| "day": "2024-01-05" | |
| }, | |
| { | |
| "time": "14:26:57", | |
| "zhesuan": "477.56", | |
| "code": "AUD", | |
| "hui_out": "481.77", | |
| "chao_in": "478.08", | |
| "chao_out": "483.16", | |
| "name": "澳大利亚元", | |
| "hui_in": "478.57", | |
| "day": "2024-01-05" | |
| } | |
| ], | |
| "listSize": 28, | |
| "ret_code": 0 | |
| } | |
| } | |
| ``` | |
| 则一些路径对应的值结果取值如下: | |
| ```JSON | |
| $.showapi_fee_num = 1 | |
| $.showapi_res_id = "6597a2f5fb638cf45b4d460c" | |
| $.showapi_res_body.list.* = [{"time":"14:26:57","zhesuan":"193.69" ... // 后面省略 | |
| ``` | |
| * 前置操作:当您需要在主请求之前执行一些额外的步骤来准备数据或获取必要的信息时,可以通过该配置来完成。 | |
| :::warning | |
| 最多可以设置5个前置操作。 | |
| ::: | |
| 1. 点击「+新增前置操作」,在配置页面需要输入前置操作的详细信息,包括URL地址、请求方式等。 | |
|  | |
| 2. 点击“发起请求”后,系统将解析这个前置请求,并将解析结果呈现在「请求结果」区域,用户需要配置动态参数的key和结果字段路径,方便后续将前置请求结果应用于当前请求。动态参数编写可参考动态参数编写规则。 | |
| 请求测试 | 检验文件 URL 是否能成功请求。 |
| 并发分区数 | 设置并发分区数量,影响任务的并发度以及每分区的请求速率。默认为 1。 |
| 请求间隔(ms) | 任务的最终QPS取决于输出节点分配的core数目和请求间隔,调整请求间隔能够控制任务并发。请求间隔越小,QPS越大。单位 ms,默认为 1000。 |
| :::warning | |
| 请谨慎设置请求间隔,并发过高时有服务风险(当单任务的QPS>全局QPS,以全局QPS为准) | |
| ::: | |
| 超时时间(ms) | 输入请求在没有响应时等待的最长时间。单位 ms,默认为 180000。 |
| 文件大小上限(MB) | 固定为 500 MB。 |
| 异常策略 | 可选择失败终止或失败忽略。 |
| * 失败终止:如果调用失败会导致任务失败,并清除中间结果。 | |
| * 失败忽略:实际有异常时,不终止算子运行,实际数据输出一条报错,以便可以后续针对错误的记录单独处理。 | |
| 输出字段名 | 自定义输出字段名称。 |
配置完成后,进行测试执行,测试通过后,保存任务。