云函数搭建随机图床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跳转。

1
2
3
4
5
return {
    "isBase64Encoded": False,
    "statusCode": 302,
    "headers": {"Location": url}
    }

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格式后在调用位置解析结构,获取结构内的内容。