Jolly

利用腾讯云函数SCF搭建OneDrive个人网盘
SCF简介腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的...
扫描右侧二维码阅读全文
26
2019/11

利用腾讯云函数SCF搭建OneDrive个人网盘

SCF简介

腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码,是实时文件处理和数据处理等场景下理想的计算平台。您只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。

无服务器(Serverless)不是表示没有服务器,而表示当您在使用 Serverless 时,您无需关心底层资源,也无需登录服务器和优化服务器,只需关注最核心的代码片段,即可跳过复杂的、繁琐的基本工作。核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源。Serverless 拥有近乎无限的扩容能力,空闲时,不运行任何资源。代码运行无状态,可以轻易实现快速迭代、极速部署。
腾讯云SCF目前仍在公测阶段,所有用户可免费使用,结束日期待定。公测结束后,每月仍可享受足量的 免费资源使用量和免费调用次数,但收取外网出流量费用。
1.png
所谓外网出流量,即程序通过SCF访问外部网络的流量,对于本程序即请求微软API的流量,每次调用从几B到 KB不等;文件上传下载直接与微软交互,不经过SCF。
一天的使用量如果调用了10000 次,30天就是30万次,还不到免费额度的 1/3。资源使用量1000GBs,30天就是3万GBs,远低于40万GBs。外网出流量0.05G ,一个月大概是1.5G按照正式收费标准0.8元/G,每月要支付1.2元的出流量费用,完全可以接受(目前不会收取)。

获取Onedrive账号

既然是利用Onedrive,首先要获取一个账号,支持个人、企业和教育版。

创建函数服务

有了账号后就可以创建函数了。登录腾讯云SCF控制台(在此之前要完成腾讯云 实名认证),点击左侧菜单栏的 函数服务,接着点击顶栏的地区选择下拉框,选择香港,因为大陆区域在绑定域名时需要备案,如果你拥有已备案的域名,则可以选择国内,当然不绑定域名也可以使用。接着点击蓝色的 新建按钮,创建函数。
2.png

随后在新建函数页面填写函数名称,名字随意;运行环境选择Php 7.2;创建方式选择模板函数;选择helloworld模板,最后点击最下方的下一步。进入 ② 函数配置页面后不做任何修改,直接点击完成。
3.png

上传函数代码

下载并解压OneDrive_SCF。随后,进入SCF函数代码面板,将提交方法下拉框的值改为本地上传文件夹,随后点击上传,选择解压好的文件夹,最后点击保存。注意,解压后查看一下是否包含两层文件夹,如果是,上传内层。
4.png

添加触发方式

进入函数服务的触发方式面板,点击添加触发方式。选择触发方式下拉框中的API网关触发器,勾选下方的启用集成响应,点击保存。
5.png
稍等片刻,下方会出现一个访问路径,点击打开它。
6.png

获取并填写 refresh_token

页面加载完毕后,点击其中的Get a refresh_token,在打开的微软账号登录页面中,填写你的Onedrive 账号和密码,完成登录。
9.png
登录完毕后浏览器将跳转回上面的页面,此时修改网址,从左往右找到第一个?,将其删除。再找到第一个&,将其改为?,注意要使用英文输入法。下面是修改前后的网址对比:

https://.../?authorization_code&code=...
https://.../authorization_code?code=...

修改完毕后直接回车,稍等片刻页面将返回refresh_token,复制它备用。
7.png

进入SCF函数代码面板,选中index.php,将得到的refresh_token粘贴进,下图所示的单引号之间,最后点击靠近左下方的保存。
8.png

配置环境变量

进入函数配置面板,点击靠近右上角的编辑按钮。
10.png

在新面板中,将内存修改为512M,当然64M也是可以运行的,需要说明的是,内存越大可用的免费时长越少;超时时间填写30,随后添加几个环境变量,它们的功能如下:
QQ20191126152848.png
11.png

所有信息填写完毕后点击保存,刷新函数API网关访问路径,即可访问你的Onedrive网盘。
12.png

自定义域名(可选)

进入函数服务的触发方式面板,点击打开SCF_API_SERVICE。
13.png
打开服务界面的自定义域名面板,点击新建。
14.png
在添加域名对话框中,填写你的域名,协议选择http,如果你想使用https,则必须在腾讯云https://cloud.tencent.com/document/product/400/6814,如果你已经在其他平台申请过推荐直接上传,因为申请一般要等待数小时才能完成。未进行上述操作你看到的证书下拉框里将会是无。网络类型勾选外网。
选择自定义路径映射,添加一条记录,路径为/,指向发布环境。
15.png

打开你的域名解析服务商控制台,在域名解析列表里添加一条CNAME记录,值便是图中上方的外网二级域名。最后点击提交。
进入管理API面板,点击编辑。
16.png

在前端配置面板中,将路径改为/,点击下一步。
17.png

在后端配置中,保证已勾选启用集成响应后点击下一步。
18.png
在响应结果面板,将返回类型改为HTML,点击完成。
19.png
在弹出的对话框中,点击前往发布服务。
20.png
在服务信息面板,点击靠近右上角的发布按钮。
21.png
在弹出的发布服务对话框中,将发布环境改为发布,备注随意填写,最后点击提交。
22.png
现在就可以通过自定义域名访问你的网盘了。

Last modification:July 1st, 2020 at 08:50 am
🌓