Skip to content

云函数开发

创建云函数

@ifanrx/faas 提供了 createFaas 方法,集成了以下功能:

  • 支持一键设置 BaaS version
  • 支持指定云函数执行的 event type
  • 统一的错误处理
  • 支持使用 mock 执行云函数

故所有云函数都需要通过 createFaas 方法创建,创建方法如下:

js
export default createFaaS(event => {
  console.log(event)

  return 'hello world'
})

event 结构可参考 event

createFaaS 支持以下参数:

js
/**
 * @typedef CreateFaaSOptions
 * @prop {string} [baasVersion] BaaS 版本号,当前默认版本号 v3.20.0
 * @prop {EventTypeInterceptor} [eventTypeInterceptor] eventType 配置,详见 EventTypeInterceptor
 * @prop {boolean} [allowSdkInvoke=true] 是否允许使用 sdk 调用云函数,默认 true
 */

其中 EventTypeInterceptor 定义如下:

js
/**
 * @typedef EventTypeInterceptor
 * @prop {FaaSEventType[]} [include] 当前 eventType 需包含在 include 中
 * @prop {FaaSEventType[]} [exclude] 当前 eventType 不能包含在 exclude 中
 * @prop {string} [displayErrorMessage] 当前 eventType 不满足时抛出的错误信息,默认为「非法操作」
 */

example

js
export default createFaaS(
  event => {
    console.log(event)

    return 'hello world'
  },
  {
    baasVersion: '3.21.0', // 指定 BaaS 版本号为 3.21.0
    allowSdkInvoke: false, // 禁止通过 sdk 调用云函数,通常指不允许在小程序端调用云函数
  }
)