Java函数开发指南
目前支持的java开发语言版本为8。
1. 函数定义
函数有明确的接口定义,如下:
作用域 返回参数 函数名(Event,Context参数)
作用域:提供给函数调用的用户函数必须定义为public。
返回参数:用户定义,函数负责转换为字符串,作为HTTP Response返回。对于返回参数对象类型,HTTP Response该类型的JSON字符串。
函数名:用户定义函数名称。
执行事件(event):传给函数执行的实际参数,类型为[]byte。
在页面触发测试中,event为用户输入的测试事件参数
在http触发器中,event为用户POST,PUT方法的body内容。
在其他触发器中,event为平台封装的cloudevent格式数据。
函数中需要将event序列化到提前定义好的结构体Event中
上下文环境(context):Runtime提供了函数执行的上下文,通过上下文对象context,可以在函数中获取相关函数执行的上下文环境,具体接口定义在SDK接口中说明。
函数执行入口:
函数执行入口格式”[包名-类名].[函数名]”,例如创建函数是设置为testpackage-testclass.sayhello,那么函数计算会自动加载testpackage-testclass.sayhello函数,如下图所示:
2. SDK接口
Context类中提供了一下上下文方法供用户使用,其声明和功能如下表所示:
方法名
方法说明
context.GetRequestID()
获取请求ID
context.GetStartTime()
获取函数执行时间
context.GetFunctionName()
获取函数名或函数id
context.GetVersion()
获取函数当前版本
context.GetMemorySize()
获取函数配置内存
3. 如何开发Java函数
开发Java函数,以下给出demo实例步骤:
1、创建函数工程
配置Eclipse,创建java工程JavaTest
image.png
b. 添加工程依赖
下载Java SDK
根据Java SDK下载提供的SDK地址,下载JavaRuntime-Params SDK(runtime-params.jar.zip)到本地开发环境。
c. 配置依赖
image.png
2、创建本地函数
a. 创建包demo,并在包下创建Testexample类
b. 在Testexamlejava中定义函数运行入口,示例代码如下
3、工程打包
a. 右击工程,选择“Export”
b. 选择导出为jar,设置导出目录
4、创建函数,上传程序包
登录函数计算控制台,创建函数,编辑函数名称,选择所属应用,选择java8运行环境
,创建文件夹,将javaTest1.tar的包压缩为zip文件,上传打包好的beijing.zip文件,(目前支持上传zip包),点击确定创建函数。
创建Java函数,上传文件。
4. 测试函数
a. 创建测试事件
新建测试事件模板中选择空消息模板,事件名称为“test”,并保存。
根据需要输入测试事件的body内容。
步骤 1 执行测试事件
在函数详情页面,选择具体的测试事件,点击执行。
执行后,分为三部分结果展示,分别为函数执行结果、函数执行摘要、函数执行日志。如下图所示: