腾讯云函数免费搭建onedrive网盘

时间:2021-10-11 03:01:06

腾讯云函数

介绍

云函数 (Serverless Cloud Function,SCF) 是腾讯云为企业和开发者们提供的无服务器执行环境。无服务器并非真的没有服务器,而是说用户无需购买服务器,无需关心服务器 CPU、内存、网络配置、资源维护、代码部署、弹性伸缩、负载均衡、安全升级、资源运行情况监控等,也就是说不用专门安排人力做这些,只需专注于代码编写并上传即可。很大程度上降低了研发门槛,提升业务构建效率。

由于 Serverless 拥有近乎无限的扩容能力,核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源,用户只需为运行中的云函数付费,若云函数未运行,则不产生任何费用。

白话文解释下有什么用。比如你想发布一个网站,需要有哪些准备条件

  1. 工程代码。(对开发而言算事吗?github上那么多的开源项目)
  2. 服务器。(腾讯云为你提供了免费的服务器让你部署)
  3. 外网访问地址。(腾讯云为你提供了免费的域名访问地址service-开头)

比如搭建onedriver网盘,你会好奇,文件呢,文件存储在哪?其实是存在onedriver给你提供的硬盘空间的。下载的源代码会通过API调用。

真免费?

那为什么可以免费搭建onedriver网盘呢,因为免费的额度足够你使用罢了

腾讯云函数免费搭建onedrive网盘

搭建教程

准备条件

  1. onedriver账号

    没有的话注册一个 https://onedrive.live.com/
  2. onedrive_SCF源码

    可以下载https://github.com/qkqpttgf/OneManager-php/releases

    也可以在新建云函数的时候选择onedriver云函数模板
  3. 腾讯云账号

    微信号注册一个就行
  4. 个人域名

    可有可无,有的话可以通过配置自定义域名来访问网盘

    没有的话可以通过腾讯云提供的免费域名访问

创建云函数

登录腾讯云控制台,搜索云函数

选择函数服务进行新建操作

推荐选择【获取onedrive信息并结合API网关展示】模板,如果是空白函数,之后下载onedrive_SCF源码在后面步骤上传

腾讯云函数免费搭建onedrive网盘

创建触发器

腾讯云函数免费搭建onedrive网盘

触发方式选择API网关触发器

将启用集成相应打勾,然后提交

腾讯云函数免费搭建onedrive网盘

然后点击访问路径进行配置

腾讯云函数免费搭建onedrive网盘

配置SecretId和SecretKey

SecretId和SecretKey通过连接地址进行新建即可。

腾讯云函数免费搭建onedrive网盘

完成之后设置登录密码。

登录之后选择管理 设置操作

腾讯云函数免费搭建onedrive网盘

添加onedriver盘

可选的设置不需要管,直接点击添加onedriver盘

腾讯云函数免费搭建onedrive网盘

标签和名称随意,单选按钮选择MS:国际版

申请id和秘钥 可以参考:https://www.ba74.com/774.html

之后填入,确认。

腾讯云函数免费搭建onedrive网盘

操作完毕之后就可以访问了。

腾讯云函数免费搭建onedrive网盘

自定义域名

如果对访问的地址不太满意,可以自定义域名。域名的话十几块钱就可以申请下来了。不过好像是需要备案的。

进入API服务名

腾讯云函数免费搭建onedrive网盘

自定义域名,新建操作

腾讯云函数免费搭建onedrive网盘

新增提示有一个公网的二级域名。

腾讯云函数免费搭建onedrive网盘

既然是要用自定义域名,就需要进行域名解析

记录类型选择CNAME,记录值把上图的公网二级域名填入即可。

腾讯云函数免费搭建onedrive网盘

腾讯云函数免费搭建onedrive网盘

之后将新增自定义域名进行提交操作

如果嫌麻烦,可以协议选择http的。我这边是对onedriver二级域名申请了个免费的https证书,所以选择http和https。

腾讯云函数免费搭建onedrive网盘

提交完成之后就可以进行访问了。

比如以前访问的路径为

https://service-9198xj4b-1257208440.bj.apigw.tencentcs.com/release/one-manager

现在访问的路径就是

https://onedriver.chendahai.cn/release/one-manager

访问路径处理

由于后面的地址(/release/one-manager)看着不优雅,需要进行处理。

由于域名解析的记录类型选择的是CNAME,所以说这种路径你是处理不了的,只能在云函数服务里面处理了

如下图,将路径修改为/

腾讯云函数免费搭建onedrive网盘

这只解决了/one-manager的访问路径问题

/release如何解决呢?

需要在自定义域名里将路径映射的发布环境 /release修改为/即可。

腾讯云函数免费搭建onedrive网盘

腾讯云函数免费搭建onedrive网盘

这样就可以这么访问了

https://onedriver.chendahai.cn

腾讯云函数免费搭建onedrive网盘

完美,不用花钱就可以搭建网盘,舒服

总结

搭建期间遇到的问题

  1. 最后一步显示Access Denied

    原因是因为我的onedriver长期不使用被冻结了,1天后才能解封。所以说这个问题忽略不计。
  2. 配置了自定义域名,只能访问首页,访问内层页面的时候就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