tencent cloud

云函数

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
相关概念
工作原理
产品优势
应用场景
相关产品
购买指南
计费概述
计费方式
计费项与计费方式
函数算力支持
免费额度
产品定价
计费示例
欠费与停服说明
快速入门
使用控制台创建一个事件函数
操作指南
配额管理
函数管理
Web 函数管理
日志管理
并发管理
触发器管理
函数 URL
自定义域名
版本管理
别名管理
权限管理
运行实例管理
插件管理
监控与告警管理
网络配置
层管理
执行配置
扩展存储管理
DNS 缓存配置
资源托管模式管理
近离线资源托管模式
工作流
触发器
触发器概述
触发器事件消息结构汇总
API 网关触发器
COS 触发器
CLS 触发器
定时触发器
CKafka 触发器
Apache Kafka 触发器
MQTT 触发器
触发器配置描述
MPS 触发器
CLB 触发器说明
云 API 触发器
开发指南
基本概念
测试云函数
环境变量
依赖安装
使用容器镜像
使用 Docker 安装依赖
错误类型与重试策略
死信队列
云函数接入数据库
自动化部署
云函数状态码
常见错误码解决方法
开发者工具
Serverless Web IDE
函数间调用 SDK
第三方工具
代码开发
Python
Node.js
Golang
PHP
Java
Custom Runtime
使用镜像部署函数
Web 框架部署
通过命令行完成框架部署
快速部署 Egg 框架
快速部署 Express 框架
快速部署 Flask 框架
快速部署 Koa 框架
快速部署 Laravel 框架
快速部署 Nestjs 框架
快速部署 Nextjs 框架
快速部署 Nuxtjs 框架
快速部署 Django 框架
实践教程
最佳实践概述
云产品联合解决方案
业务开发相关实践
实时音视频 TRTC
对象存储 COS
消息队列 CKafka
日志服务CLS
负载均衡 CLB
视频处理 MPS
内容分发网络 CDN
云数据仓库 PostgreSQL
云点播 VOD
短信 SMS
Elasticsearch Service
定时任务
视频处理
客户案例
腾讯在线教育
在线教育行业案例
游戏聊天系统
腾讯互娱国际(IEGG)
API 文档
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
函数和层的状态说明
Data Types
Error Codes
SDK文档
常见问题
通用问题
Web 函数相关问题
计费相关问题
网络相关问题
日志相关问题
SCF 工具相关问题
事件处理相关问题
API 网关触发器相关问题
相关协议
Service Level Agreement
联系我们
词汇表

开发方法

PDF
聚焦模式
字号
最后更新时间: 2024-04-22 18:03:28

代码形态

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,boolen 这八种基本类型和包装类,也包含 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 提交工单 来寻求帮助。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈