前提条件
已创建完成业务流程,详情请参见创建并管理业务流程。
背景信息
您可以在数据服务中创建函数、测试函数、发布函数,发布后的函数可被进一步关联至API,作为API的过滤器,对API的请求参数或返回结果进行加工处理,从而实现API的复杂查询需求,灵活适配各类业务场景。
使用限制
-
您需要购买DataWorks专业版及以上版本,才可以使用Python函数及过滤器功能。
-
Python函数需要运行在公共数据服务资源组中。
-
Python函数正在改造中,暂不支持新建、克隆和发布新的Python函数。如需使用函数功能,建议您使用Aviator函数。详情请参见创建Aviator函数。
-
当使用函数作为API过滤器时,前置过滤器和后置过滤器的函数类型需要保持一致。即:均选择Python函数类型。暂不支持对同一API的前置和后置过滤器选择不同的函数类型。
-
Python函数作为过滤器的使用限制如下:
-
过滤器仅支持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)
# 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。
进入数据服务页面
登录DataWorks控制台,单击左侧导航栏的数据服务,在下拉框中选择对应工作空间后单击进入数据服务。
创建函数
-
在服务开发页面,鼠标悬停至
图标,单击新建函数 > 新建Python函数。
您也可以找到相应的业务流程,右键单击函数,选择新建 > 新建Python函数。
-
在新建Python函数对话框中,配置各项参数。
参数
描述
函数名称
自定义函数的名称,不得超过256个字符。
函数模板
仅支持Python3 Standard v1模板。
运行环境
仅支持Python 3.0。
函数描述
对函数进行简单描述,不得超过512个字符。
目标文件夹
存放函数的目录。
-
单击确认。
-
在函数的编辑页面,配置函数。
-
在编辑代码区域,输入函数的代码。
-
在环境配置区域,设置内存和超时时间。
-
-
单击工具栏中的
图标。
后续步骤
-
创建函数后您可以对函数进行测试和发布。详情请参见测试函数、发布函数。
-
发布后的函数可以进一步关联至API,作为API的前置和后置过滤器,对请求参数和返回结果进行加工处理,详情请参见:使用函数作为API过滤器。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/169805.html