腾讯云函数
介绍
云函数 (Serverless Cloud Function,SCF) 是腾讯云为企业和开发者们提供的无服务器执行环境。无服务器并非真的没有服务器,而是说用户无需购买服务器,无需关心服务器 CPU、内存、网络配置、资源维护、代码部署、弹性伸缩、负载均衡、安全升级、资源运行情况监控等,也就是说不用专门安排人力做这些,只需专注于代码编写并上传即可。很大程度上降低了研发门槛,提升业务构建效率。
由于 Serverless 拥有近乎无限的扩容能力,核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源,用户只需为运行中的云函数付费,若云函数未运行,则不产生任何费用。
白话文解释下有什么用。比如你想发布一个网站,需要有哪些准备条件
- 工程代码。(对开发而言算事吗?github上那么多的开源项目)
- 服务器。(腾讯云为你提供了免费的服务器让你部署)
- 外网访问地址。(腾讯云为你提供了免费的域名访问地址service-开头)
比如搭建onedriver网盘,你会好奇,文件呢,文件存储在哪?其实是存在onedriver给你提供的硬盘空间的。下载的源代码会通过API调用。
真免费?
那为什么可以免费
搭建onedriver网盘呢,因为免费的额度足够你使用罢了
搭建教程
准备条件
- onedriver账号
没有的话注册一个 https://onedrive.live.com/ - onedrive_SCF源码
可以下载https://github.com/qkqpttgf/OneManager-php/releases
也可以在新建云函数的时候选择onedriver云函数模板 - 腾讯云账号
微信号注册一个就行 - 个人域名
可有可无,有的话可以通过配置自定义域名来访问网盘
没有的话可以通过腾讯云提供的免费域名访问
创建云函数
登录腾讯云控制台,搜索云函数
选择函数服务进行新建操作
推荐选择【获取onedrive信息并结合API网关展示】模板,如果是空白函数,之后下载onedrive_SCF源码在后面步骤上传
创建触发器
触发方式选择API网关触发器
将启用集成相应打勾,然后提交
然后点击访问路径进行配置
配置SecretId和SecretKey
SecretId和SecretKey通过连接地址进行新建即可。
完成之后设置登录密码。
登录之后选择管理 设置操作
添加onedriver盘
可选的设置不需要管,直接点击添加onedriver盘
标签和名称随意,单选按钮选择MS:国际版
申请id和秘钥 可以参考:https://www.ba74.com/774.html
之后填入,确认。
操作完毕之后就可以访问了。
自定义域名
如果对访问的地址不太满意,可以自定义域名。域名的话十几块钱就可以申请下来了。不过好像是需要备案的。
进入API服务名
自定义域名,新建操作
新增提示有一个公网的二级域名。
既然是要用自定义域名,就需要进行域名解析
记录类型选择CNAME,记录值把上图的公网二级域名填入即可。
之后将新增自定义域名进行提交操作
如果嫌麻烦,可以协议选择http的。我这边是对onedriver二级域名申请了个免费的https证书,所以选择http和https。
提交完成之后就可以进行访问了。
比如以前访问的路径为
https://service-9198xj4b-1257208440.bj.apigw.tencentcs.com/release/one-manager
现在访问的路径就是
https://onedriver.chendahai.cn/release/one-manager
访问路径处理
由于后面的地址(/release/one-manager)看着不优雅,需要进行处理。
由于域名解析的记录类型选择的是CNAME,所以说这种路径你是处理不了的,只能在云函数服务里面处理了
如下图,将路径修改为/
这只解决了/one-manager
的访问路径问题
那/release
如何解决呢?
需要在自定义域名里将路径映射的发布环境 /release
修改为/
即可。
这样就可以这么访问了
https://onedriver.chendahai.cn
完美,不用花钱就可以搭建网盘,舒服
总结
搭建期间遇到的问题
- 最后一步显示Access Denied
原因是因为我的onedriver长期不使用被冻结了,1天后才能解封。所以说这个问题忽略不计。 - 配置了自定义域名,只能访问首页,访问内层页面的时候就404
原因是路径处理的问题
想法
作为一个开发者,买台属于自己的服务器是很有必要的。
这不马上就双十一了嘛,阿里云腾讯云都是有活动的,云服务器的优惠力度很大的,可以关注下。
推荐买个最起码4G的服务器,也贵不了啥。顺带买个域名,做下备案,总归用得到。
腾讯云邀请链接
https://cloud.tencent.com/act/double11/go?spread_hash_key=B9P7TI
借鉴
https://blog.csdn.net/muzihuaner/article/details/107853754
https://www.ba74.com/774.html