云函数是一段运行在云端的、轻量的、无关联的、并且可重用的代码。无需管理服务器,只需在开发工具内编写、一键上传部署,即可获得对应的数据结果。使用云函数可以使企业和开发者不需要担心服务器或底层运维设施,可以更专注代码和业务本身,也可以使代码进一步解耦,增加其重用性。
小程序内提供了专门用于云函数调用的 API。开发者可以使用云函数的系统参数获取每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid) 。同时云函数只会被关联到的小程序访问,平台以签名和appkey验证方式保证云函数的请求会被多次验证。
在淘宝小程序的框架下,云函数中除了平台封装的接口外,禁止了发起外部服务的请求。
1)如需在云函数中操作数据库、管理云文件、调用top接口以及调用其他云函数等操作,可使用官方sdk提供的云数据库、云存储等接口进行操作;
2)若要与外部服务器进行通信,请使用http外联或者外部触发。
从客户端上调用云函数的请求耗时包括:
1)移动网络耗时,大概在500ms左右;
2)冷启动耗时;
3)正常云函数调用耗时;
详细请求耗时在云函数链路分析中查看。
函数相关的使用配额如下。
说明 |
资源上限 |
单个商家云下同一环境允许部署的函数个数 |
50 |
云函数调用网络请求限制数据量大小 |
128KB |
函数申请内存 |
最小128MB,最大3G。建议使用512MB |
单个函数代码部署包大小 |
50MB |
函数并发度配置 |
300 |
并发是云函数在某个时刻同时处理的请求数。在调用函数时,云函数会分配一个并发实例处理请求或事件。函数代码运行完毕返回后,该实例会处理其他请求。如果在请求到来时,所有实例都在运行中,云函数则会分配一个新的并发实例。
云函数的并发指的是函数代码同时处理请求或调用的数量,您可以通过以下公式估算:
并发数 = 请求速率 × 函数运行时间 = 每秒请求次数 × 每个请求的平均耗时
您可以在云函数控制台链路分析中查看到每个请求的平均耗时。例如:某业务 QPS 为2000,每个请求的平均耗时为0.02s,则每个时刻的并发数为 2000qps × 0.02s = 40。