函数配置项

最近更新时间:2020-05-28 12:06:52

在 CLI 配置文件中,functions 数组可以包含多个函数配置项,函数配置项包含了函数名称(name),函数运行配置(config),函数调用传入参数(params)等多项与函数相关的信息,影响着函数操作的行为表现。

函数配置项

一个简单的例子:

{
  // 关联环境 ID
  envId: "dev-xxxx",
  // 函数配置
  functions: [
    {
      // functions 文件夹下函数文件夹的名称,即函数名
      name: "app",
      // 超时时间,单位:秒 S
      timeout: 5,
      runtime: "Nodejs8.9",
      installDependency: true,
      handler: "index.main"
    }
  ]
}
注意:

0.6.0 版本起,为了简化使用,我们对 cloudbaserc.js 配置文件 functions 选项中的 config 选项进行了扁平化处理,原有 config 选项中的所有配置项都可以直接写在 functions 选项中。

下面为目前所有支持的配置项:

配置项 是否必填 类型 描述
name String 云函数名称,即为函数部署到云开发后的名称
params Object/JSONObject CLI 调用云函数时的函数入参
triggers Array<CloudFunctionTrigger> 触发器配置
handler String 函数处理方法名称,名称格式支持“文件名称.函数名称”形式
ignore String/Array<String> 部署/更新云函数代码时的忽略文件,支持 glob 匹配规则
timeout Number 函数超时时间(1 - 60S)
envVariables Object 包含环境变量的键值对对象
vpc VPC 私有网络配置
runtime String 运行时环境配置,可选值: Nodejs8.9, Php7, Java8
installDependency Boolean 是否云端安装依赖,目前仅支持 Node.js


CloudFunctionConfig

名称 是否必填 类型 描述
timeout Number 函数超时时间(1 - 60S)
envVariables Object 包含环境变量的键值对对象
vpc VPC 私有网络配置
runtime String 运行时环境配置,可选值: Nodejs8.9, Php7, Java8
installDependency Boolean 是否云端安装依赖,目前仅支持 Node.js
注意:

runtime 默认为 Nodejs8.9,使用 Node 运行时可不填,使用 Php 和 Java 则必填。

CloudFunctionTrigger

名称 是否必填 类型 描述
name String 触发器名称
type String 触发器类型,可选值:timer
config String 触发器配置,在定时触发器下,config 格式为 cron 表达式


VPC

名称 是否必填 类型 描述
vpcId String VPC ID
subnetId String VPC 子网 ID

更新函数运行时配置

创建函数时,Cloudbase CLI 会为函数提供一些默认的配置,所以不需要添加配置信息也可以直接部署函数。也可以通过下面的命令修改函数的运行时配置。

# 更新 app 函数的配置
cloudbase functions:config:update app

# 更新配置文件中所有函数的配置信息
cloudbase functions:config:update

目前支持修改的函数配置包含超时时间 timeout、环境变量 envVariables、运行时 runtime,vpc网络以及 installDependency 等选项。

CloudBase CLI 会从配置文件中读取函数的配置信息并更新,CloudBase CLI 会更新配置文件中存在的函数的所有配置,暂不支持指定更新单个配置选项。

目录