云函数支持使用Node.js进行开发。您可将代码提交到云端运行,在客户端使用小程序SDK提供的API进行调用。您还可以在云函数中直接通过API调用数据存储和文件存储的服务资源。
打开商家应用 IDE,关联小程序对应的商家应用。在小程序server端右键点击新建云函数,可以创建一个新的 Node.js 云函数模版,在模版里写相应的逻辑代码。
exports.main = async (context) => { return 'hello world'; };
云函数的context对象说明参见云函数系统参数。
说明:云函数中使用云SDK依赖,在创建云函数时会在云函数目录下默认新建一个 package.json文件。其中sdkVersion为云函数的SDK版本号,*代表最新版本。在云函数中操作数据库、管理云文件、进行外联操作时,需要依赖此云函数SDK版本号(老版本IDE会默认生成0.0.2-alpha.0版本,建议版本号始终保持最新)
云函数环境分为测试、预发和线上三套环境。云函数压测请到预发环境下进行。
sever 目录右键选择需要部署的后端环境(如测试环境)。选择server目录下的一个 云函数目录 右键点击 创建并部署 提交云函数部署。
云函数根目录下的第一级目录(云函数目录)是与云函数名字相同的,如果对应的环境上该云函数已部署,则我们会用一个特殊的 “云图标” 标明。下图说明测试环境下云函数context已部署。
说明:测试和预发环境在IDE部署即可,线上环境需要到控制台进行云部署,将预发环境下的函数灰度同步至线上环境。
点击具体某个云函数,可以查看详细部署记录,同时测试和预发环境下支持对某个部署版本进行回滚操作。
服务端编写好云函数代码并部署后,在客户端使用小程序云SDK提供的API进行调用时,需要注意客户端云SDK的版本号。版本号为* ,表示依赖最新版本。
建议:云函数内发起数据库请求、存储请求或进行http外联调用的时候,云SDK最好设置成最新版本,防止低版本SDK无此API调用接口,导致调用出错。
在调用云函数前,需要进行初始化。
云函数调用请查看调用示例。
云函数服务端测试请查看云函数控制台使用。
点击【模拟器】可以在【IDE 模拟器】中进行测试;还可以点击【预览】,使用【手机淘宝扫描二维码】在手机上实现真机测试。
在进行模拟器测试前,请先检查模拟器是否登录,防止云函数调用失败。
云函数SDK会打印一些API调用日志帮助开发者查看。
云函数日志可以在IDE中进行查看,建议直接使用控制台的链路分析,便于更详细的对整个链路进行分析排查。
对于在云函数中进行数据库、管理云文件、调用http外联接口等复杂操作,IDE中云函数运行日志只能看到最终云函数的调用结果返回,对于内部调用信息是不清楚的,链路分析能够更好的掌握当前服务的基本状况,快速发现链路中的慢节点和错误节点。
以http外联调用为例,详细调用示例参考发起HTTP调用。
测试云函数时发现云函数返回成功,但内部调用HTTP时报错误,错误信息不明显。
在控制台链路分析处可以发现函数调用是成功的,内部在调用HTTP时报错,点击日志详情可以查看到具体的请求参数以及错误信息。