配置文件-云函数
在 CloudBase CLI 配置文件 cloudbaserc.json 中,通过 functions 数组可以定义多个云函数的配置项,这些配置项控制着函数的部署行为和运行时特性。
配置扁平化
从 CLI 0.6.0 版本起,functions 选项中的 config 选项已扁平化处理,原有嵌套在 config 中的所有配置项现在可以直接写在 functions 数组项中,使用更加简便。
快速示例
一个典型的云函数配置示例:
{
"envId": "dev-xxxx",
"functionRoot": "./functions",
"functions": [
{
"name": "app",
"timeout": 5,
"runtime": "Nodejs20.19",
"installDependency": true,
"handler": "index.main"
}
]
}
配置项详解
基础配置项
| 配置项 | 必填 | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
functionRoot | 否 | String | - | 所有云函数的根目录,若未指定 dir,则函数部署路径为 functionRoot/name |
name | 是 | String | - | 云函数名称,即函数部署后的标识符 |
type | 否 | String | Event | 函数类型,可选值: Event(事件触发函数)、HTTP(HTTP 云函数) |
dir | 否 | String | - | 云函数代码所在的文件夹路径,指定后将作为函数部署路径 |
handler | 否 | String | index.main | 函数处理方法名称,格式为 文件名.函数名Java 运行时必须指定完整路径,如 package.Class::mainHandler |
runtime | 否 | String | Nodejs20.19 | 运行时环境,详见运行时环境 |
timeout | 否 | Number | 5 | 函数超时时间,取值范围 1-900 秒 |
memorySize | 否 | Number | 256 | 函数内存大小(MB),取值范围 64-3072 |
protocolType | 否 | String | - | HTTP 函数支持的访问协议,当前支持 WebSocket 协议,值为 WS |
protocolParams | 否 | Object | - | 协议参数配置,详见 WebSocket 配置 |
instanceConcurrencyConfig | 否 | Object | - | 实例并发配置,详见 并发配置 |
imageConfig | 否 | Object | - | 镜像部署配置,详见 镜像配置 |
代码和依赖配置
| 配置项 | 必填 | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
ignore | 否 | String/Array | - | 部署时忽略的文件或目录,支持 glob 匹配规则 建议忽略 node_modules、.git 等 |
installDependency | 否 | Boolean | false | 是否在云端自动安装依赖包(仅支持 Node.js 运行时) |
codeSecret | 否 | String | - | 代码加密密钥,由 36 位大小写字母和数字组成 |
高级配置
| 配置项 | 必填 | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
envVariables | 否 | Object | - | 环境变量键值对,部署时会完全覆盖线上配置 |
vpc | 否 | Object | - | 私有网络配置,详见VPC 配置 |
triggers | 否 | Array | - | 触发器配置,详见触发器配置 |
params | 否 | Object | - | CLI 调用云函数时的默认入参 |
role | 否 | String | - | 函数绑定的角色名称,用于日志投递等场景 |
clsLogsetId | 否 | String | - | CLS 日志集 ID,镜像部署时需要手动配置 |
clsTopicId | 否 | String | - | CLS 日志主题 ID,镜像部署时需要手动配置 |
运行时环境
CloudBase 云函数支持以下运行时环境:
Node.js 运行时
Nodejs24.11(公测中)Nodejs22.21(公测中)Nodejs20.19(推荐)Nodejs18.15Nodejs16.13
其他语言运行时
Php8.0Php7.4Python3.11Python3.10Python3.9Python3.7Go1Java11
完整的运行环境说明,请参阅 运行环境支持。
运行时说明
- Node.js 项目默认使用
Nodejs20.19运行时,可以省略runtime配置 - PHP、Java 等非 Node.js 运行时必须显式指定
runtime值 - 启用
codeSecret代码加密后,将无法在小程序 IDE 和腾讯云控制台中查看云函数源代码
触发器配置
触发器配置项用于定义云函数的自动触发规则:
| 配置项 | 必填 | 类型 |
|---|