8.1. 云函数类

… 云函数执行超时怎么处理?

超时客户端会直接断开连接并报错,建议控制函数执行时间,尽量不要把耗时长的操作放在客户端直接调用的云函数内。

… 云函数内置模块怎么使用?

云函数内置模块已经集成于运行环境,可以直接使用。 如果内置模块的版本不能满足需求,可以自行安装模块到云函数内,默认会被优先使用。 目前已支持的内置模块为 request 2.87.1 。

… 如果需要在云函数执行一些长耗时的处理怎么办?

为了保证客户端的体验,不允许直接调用长耗时的云函数。

建议在云控制台调整为需要的超时时间(上限为 20s),在云函数内使用callback()返回成功,客户端不等待执行结果。 云函数会在超时时间内继续执行直到完毕或超时,将执行结果写入数据库等存储服务,再在客户端获取该结果。

… 为什么云函数更新时,返回exit status 11?

请检查一下函数的打包方式和入口方法。

云函数创建时,默认执行方法是 index.main ,其入口文件为 index.js , 且 index.js 必须用 export 暴露出 main 方法。 云函数更新时,如果选择用 zip 包上传,打包的方式需要注意,要保证 zip 包解压后的第一级内容必须包含入口文件(常见的错误打包方式是, 将某个云函数代码放在某个文件夹内,并针对这个文件夹进行压缩,这样解压出来的文件是一个文件夹,不包含入口文件 index.js )。

… 云函数测试时,部分日志丢失了?

云函数测试时,如果以同步调用的方式(超时时间小于 20 秒),返回的日志最多为 4k,超过 4k 的日志不显示。 如果以异步调用的方式(超时时间大于或等于 20 秒),返回的日志最多为 6M,超过 6M 的日志不显示。