新建本地函数:Python 实现
本节以一个简单的入门案例介绍如何将用户在自己本地计算资源上开发和执行的Python 算法内核接入执行器。
创建函数项目
首先打开下载好的 FuncStudio 本地执行器,点击新建空白项目,创建一个空白函数项目。
定义函数输入参数
在接口标签页配置函数的参数列表,即定义函数输入参数。以一个简单加法器内核为例,输入参数可简单抽象为两个参数:加数 a 和 b,现在我们就需要将这两个参数在列表中定义。
具体地,点击新建参数组,新建一个名称为加数参数组的参数组;接着点击新建参数,在该参数组内添加两个表示加数 a、加数 b 的参数,如下图所示。
注意
参数的键是必须配置的,且是唯一的。
实现函数内核
在完成函数的输入参数配置后,需要借助 FuncStudio-SDK 给算法程序封装输入输出接口后,接入执行器。
配置 Python 环境
首先,需要在本地计算资源中配置 Python 环境来安装 CloudPSS-SDK,详见 Python 环境配置。
给算法程序封装输入输出接口
安装好 SDK 后,需要利用 SDK 给用户自定义的算法函数封装输入输出接口,即获取函数输入参数值以及格式化输出计算结果。
以一个加法程序为例,封装之后形成了一个可接入 FuncStudio 的函数内核,名为 adder.py 的 Python 文件。
具体代码如下所示:
adder.py
import cloudpss #导入安装好的CloudPSS-SDK
if __name__ == '__main__':
job = cloudpss.currentJob() #获取函数在当前参数方案下的计算任务实例
a = job.args.a #利用 SDK 提供的 args 方法根据键名获取加数 a 在当前参数方案下的值
b = job.args.b #获取加数 b 在当前参数方案下的值
a = float(a) #数据类型的转换,针对老版本的执行器
b = float(b) #数据类型的转换,针对老版本的执行器
c = a + b #加法程序(用户自定义的算法)
job.log(a+b,key='log-1') #利用 SDK 提供的 log 方法向 FuncStudio 发送文本结果
job.plot([{'name':'t1','type':'scatter','x':[a,a+1],'y': [b,b+1]}],key='plot-1') #利用 SDK 提供的 plot 方法向 FuncStudio 发送图形结果
注意
需要注意的是,对于老版本的执行器,不论接口参数的类型设置为整数还是实数,在默认参数方案下通过接口 SDK 获取的值都是