阿里云函数计算Java函数开发指南

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    执行测试事件
 
在函数详情页面,选择具体的测试事件,点击执行。
 
执行后,分为三部分结果展示,分别为函数执行结果、函数执行摘要、函数执行日志。如下图所示: