云开发 CloudBase Framework 框架「Function」插件: 通过云开发 CloudBase Framework 框架将项目下的云函数一键部署到云开发环境,提供生产环境可用的自动弹性伸缩的高性能事件驱动的函数计算服务。可以搭配其他插件如 Website 插件、Node 插件实现云端一体开发。
- 节约成本: 资源伸缩,弹性扩缩容,灵活计费,极大节约资源成本
- 极简配置:自动检测框架,无须配置
- 语言支持:
Node.JSPHPJava
具体步骤请参照 准备云开发环境和 CloudBase CLI 命令工具
如果目前已有函数应用项目
cloudbase如果想全新开始一个项目,可以直接执行 init 来从模板开始一个项目
cloudbase initcloudbase framework:deploy默认情况下不需要任何配置即可使用,以下配置参数针对有特殊需求的场景
cloudbase init 之后会创建云开发的配置文件 cloudbaserc.json,可在配置文件的 plugins 里修改和写入插件配置
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"function": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "./cloudfunctions",
"functions": [
{
"name": "helloworld",
"timeout": 5,
"envVariables": {},
"runtime": "Nodejs10.15",
"memory": 128
}
],
"servicePaths": {
"helloworld": "/helloworld"
}
}
}
}
}
}函数根目录
函数配置数组,每个函数的配置格式要求如下:
| 是否必填 | 类型 | 描述 | |
|---|---|---|---|
| name | 是 | String | 云函数名称,即为函数部署后的名称 |
| triggers | 否 | Array |
触发器配置 |
| handler | 否 | String | 函数处理方法名称,名称格式支持“文件名称.函数名称”形式 |
| ignore | 否 | String/Array<String> |
部署/更新云函数代码时的忽略文件,支持 glob 匹配规则 |
| timeout | 否 | Number | 函数超时时间(1 - 60S) |
| envVariables | 否 | Object | 包含环境变量的键值对对象 |
| vpc | 否 | VPC | 私有网络配置 |
| runtime | 否 | String | 运行时环境配置,可选值: Nodejs8.9, Nodejs10.15 Php7, Java8,Go1 |
| installDependency | 否 | Boolean | 是否云端安装依赖,目前仅支持 Node.js |
| functionDistPath | 否 | String | 函数产物路径,相对于函数根目录 functionRootPath,例如 Go 语言可指定二进制文件路径,Java 可以指定 jar 包文件地址 |
注:runtime 默认为 Nodejs10.15,使用 Node 运行时可不填,使用 Php 和 Java 则必填。
#CloudFunctionTrigger
| 名称 | 是否必填 | 类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 触发器名称 |
| type | 是 | String | 触发器类型,可选值:timer |
| config | 是 | String | 触发器配置,在定时触发器下,config 格式为 cron 表达式 |
#VPC
| 名称 | 是否必填 | 类型 | 描述 |
|---|---|---|---|
| vpcId | 是 | String | VPC Id |
| subnetId | 是 | String | VPC 子网 Id |
服务路径配置
如
{
"hello-world": "/helloworld"
}请访问 CloudBase Framework 插件列表 搭配使用其他插件
- 云开发官网地址: https://cloudbase.net/
- 云开发静态网站开通指南:https://docs.cloudbase.net/hosting/
- 云开发控制台地址: https://console.cloud.tencent.com/tcb
