前置过滤器是对请求参数进行预处理的动态函数。您可以通过指定一个或者多个过滤器,实现自定义API的请求内容。本文为您介绍如何新建和使用前置过滤器。

前提条件

  • 您需要购买DataWorks专业版及以上版本,才可以使用过滤器和函数功能。
  • 仅华东2(上海)地域支持使用过滤器和函数功能。
过滤器的使用限制如下:
  • 过滤器仅支持Python 3.0的语法。
  • 过滤器仅支持import json,time,random,pickle,re,math
  • 过滤器限定函数名def handler(event,context):

函数结构说明

系统自带的模板函数如下。
# -*- coding: utf-8 -*-

# event (str) : in filter it is the API result, in other cases, it is your param
# context : some environment information, temporarily useless
# import module limit: json,time,random,pickle,re,math
# do not modify function name
import json
def handler(event,context):
# load str to json object
obj = json.loads(event) # 转化为JSON object。
# add your code here
# end add
return obj
您可以基于该函数进行修改,并根据自身需求修改函数的入参名称。
参数1[context]:字符串类型,包含API执行的上下文环境,目前为空,暂未启用。  
参数2[event]:字符串类型,包含API的请求参数,或者是上一个过滤器处理后的结果。
说明
  • 系统会将API请求参数或上个过滤器的输出结果,从key-value map转换为JSON形式,并使用该JSON对event参数进行传参,且JSON中的value仅支持字符串类型。
  • 前置过滤器的输出结果为key-value map。该输出结果将作为SQL语句执行入参,因此仅支持输出深度为1的key-value map。

创建Python函数

  1. 进入数据服务页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据服务
  2. 服务开发页面,鼠标悬停至新建图标,单击函数 > 新建Python函数
    您也可以打开相应的业务流程,右键单击函数,选择新建 > 新建Python函数
  3. 新建Python函数对话框中,配置各项参数。
    新建函数
    参数 描述
    函数名称 自定义函数的名称,不得超过256个字符。
    函数模板 仅支持Python3 Standard v1模板。
    运行环境 仅支持Python 3.0。
    函数描述 对函数进行简单描述,不得超过512个字符。
    目标文件夹 存放函数的目录。
  4. 单击确认
  5. 在函数的编辑页面,配置函数。
    1. 编辑代码区域,输入函数的代码。
    2. 环境配置区域,设置内存超时时间
  6. 单击工具栏中的保存图标。

使用前置过滤器

  1. 服务开发页面,展开目标API所在的业务流程 > API
  2. 双击相应的API名称,打开该API的编辑页面。
  3. 单击页面右侧的请求参数
  4. 请求参数 > 高级配置区域,选中使用前置过滤器
    前置过滤器
  5. 使用前置过滤器列表中选择相应的函数。
    说明 过滤器由一个或多个函数组成,允许您对API的请求参数进行预处理。您可以新建函数作为前置过滤器。
  6. 单击结果预览,查看使用前置过滤器后的数据。