一、代码形态
建立参数 KeyValueClass 类:
package example;public class KeyValueClass { String key1; String key2; public String getKey1() { return this.key1; } public void setKey1(String key1) { this.key1 = key1; } public String getKey2() { return this.key2; } public void setKey2(String key2) { this.key2 = key2; } public KeyValueClass() { } }
二、执行方法
由于 Java 包含有包的概念,因此执行方法和其他语言有所不同,需要带有包信息。代码示例中对应的执行方法为 example.Hello::mainHandler,此处 example 标识为 Java package,Hello 标识为类,mainHandler 标识为类方法。
三、入参和返回
代码示例中,mainHandler 所使用的入参使用了 POJO 类型,返回使用了 String 类型。事件入参和函数返回目前支持的类型包括 Java 基础类型和 POJO 类型;函数运行时目前为 com.qcloud.scf.runtime.Context 类型,其相关库文件可单击 此处 下载。
四、事件入参及返回参数类型
| 事件入参 | 返回参数类型 |
| Java 基础类型 | 包括 byte,int,short,long,float,double,char,boolean 这八种基本类型和包装类,也包含 String 类型。 |
| POJO 类型 | Plain Old Java Object,你应使用可变 POJO 及公有 getter 和 setter,在代码中提供相应类型的实现。 |
五、Context 入参
·使用 Context 需要在代码中使用 com.qcloud.scf.runtime.Context; 引入包,并在打包时带入 jar 包。
·如不使用此对象,可在函数入参中忽略,可写为 public String mainHandler(String name)。
注意:部分触发器传递的入参事件结构目前已有一部分已定义,可直接使用。你可通过 cloud event 定义 获取 Java 的库并使用。如果使用过程中发现问题,可以通过 提交 issue 、咨询 在线客服 来寻求帮助。