开发方法

最近更新时间:2023-06-30 09:30:31

我的收藏

代码形态

Java 开发的 SCF 云函数的代码形态一般如下所示:
package example;

public class Hello {
public String mainHandler(KeyValueClass kv) {
System.out.println("Hello world!");
System.out.println(String.format("key1 = %s", kv.getKey1()));
System.out.println(String.format("key2 = %s", kv.getKey2()));
return String.format("Hello World");
}
}
建立参数 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 、咨询 在线客服 来寻求帮助。