云函数搭建随机图床API服务
各大云函数对比
| 公有云 | 请求次数 | 运行时间 | 网络流量 | 免费数据库 | 东南亚区域 | 备注 |
|---|---|---|---|---|---|---|
| AWS | 100万 | 400,000 GB-秒 | 1GB | 有 | 香港、东京、新加坡 | |
| Azure | 100万 | 400,000 GB-秒 | 5GB | 有 | 香港、韩国、日本、新加坡 | 存储帐户收费 |
| Google Cloud | 200万 | 400,000 GB-秒+200,000GHz | 5GB | 有 | 香港、台湾 | 国内无法访问 |
| IBM Cloud | 无限 | 400,000 GB-秒 | 不明 | 有 | 东京 | |
| 阿里云 | 100万 | 400,000 CU-秒 | 无 | 无 | 中国、香港、东京、新加坡 | |
| 腾讯云 | 100万 | 400,000 GB-秒 | 无 | 无 | 中国、香港、新加坡 | |
| 百度云 | 100万 | 400,000 GB-秒 | 1GB | 无 | 中国 | |
| 华为云 | 100万 | 400,000 GB-秒 | 不明 | 无 | 中国、香港、泰国 | |
| LeanCloud | 无限 | 18小时/天 | 1GB | 有 | 中国 |
踩坑腾讯云函数
因为图床需要用API来跳转返回图片真实地址,查了最新版腾讯云函数官方文档,已不再支持302跳转。
|
|
https://service-mdz65i5g-1258124728.gz.apigw.tencentcs.com/release/ZiHuFenShen/feature/config
腾讯云函数302跳转实现方式参考:https://juejin.cn/post/6844903632089907214
同时此文通俗解释了腾讯云函数的集成响应与透传响应的区别,这里贴一下,以进行备份:
集成响应和透传响应 简单来说透传响应只会返回200状态码,将返回的内容作为消息体透传给前端,所以一般的返回json数据的函数调用可以直接使用此方式。 集成响应则可以自行定义返回的http状态码,消息头等等内容,我们这里是一个短网址的跳转,需要返回302或者301消息,所以必须使用集成响应的方式。 具体可以参见腾讯云官方文档的解释: 集成响应,是指 API 网关会将云函数的返回内容进行解析,并根据解析内容构造 HTTP 响应。 通过使用集成响应,可以通过代码自主控制响应的状态码、headers、body内容,可以实现自定义格式的内容响应,例如响应 XML、HTML、JSON 甚至 JS 内容。 在使用集成响应时,需要按照 API 网关触发器的集成响应返回数据结构,才可以被 API 网关成功解析,否则会出现 {“errno”:403,“error”:“Invalid scf response format. please check your scf response format.”} 错误信息。 透传响应,是指 API 网关将云函数的返回内容直接传递给API请求方。 通常这种响应的数据格式直接确定为JSON格式,状态码根据函数执行的状态定义,函数执行成功即为 200 状态码。 通过透传响应,用户可以自行获取到JSON格式后在调用位置解析结构,获取结构内的内容。