演示地址
SCF 简介
腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码,是实时文件处理和数据处理等场景下理想的计算平台。您只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。
无服务器(Serverless)不是表示没有服务器,而表示当您在使用 Serverless 时,您无需关心底层资源,也无需登录服务器和优化服务器,只需关注最核心的代码片段,即可跳过复杂的、繁琐的基本工作。核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源。Serverless 拥有近乎无限的扩容能力,空闲时,不运行任何资源。代码运行无状态,可以轻易实现快速迭代、极速部署。
腾讯云 SCF 目前仍在 公测 阶段,所有用户可免费使用,结束日期待定。公测结束后,每月仍可享受足量的 免费资源使用量和免费调用次数,但收取 外网出流量
费用。
资源类型 | 每月免费额度 |
---|---|
资源使用量 | 40 万 GBs |
调用次数 | 100 万次 |
所谓外网出流量,即程序通过 SCF 访问外部网络的流量,对于本程序即请求微软 API 的流量,每次调用从几 B 到几 KB 不等;文件上传下载直接与微软交互,不经过 SCF。
下图(老图可能与描述不符)是我一天的使用量,大概调用了 10000 次,如果是 30 天就是 30 万次,还不到免费额度的 1/3。资源使用量 1000 GBs,30 天就是 3 万 GBs,远低于 40 万 GBs。外网出流量 0.05G ,一个月大概是 1.5 G,按照 正式收费标准 0.8 元/G,每月要支付 1.2 元的出流量费用,完全可以接受(目前不会收取)。
创建函数服务
登录 腾讯云 SCF 控制台(在此之前要完成腾讯云 实名认证),点击左侧菜单栏的 函数服务
,接着点击顶栏的地区选择下拉框,选择 香港
,因为大陆区域在绑定域名时需要备案,如果你拥有已备案的域名,则可以选择国内,当然不绑定域名也可以使用。接着点击蓝色的 新建
按钮,创建函数。
随后在新建函数页面填写 函数名称
,名字随意;运行环境
选择 Php 7.2
;创建方式
选择 模板函数
;选择 helloworld
模板,最后点击最下方的 下一步
。进入 ② 函数配置
页面后不做任何修改,直接点击 完成
。
VWO~RYU4QSIHMEE_{PG.png" title="GXVWO~RYU4QSIHM
EE_{PG.png">
上传函数代码
下载并解压 OneDrive_SCF。随后,进入 SCF 函数代码
面板,将 提交方法下拉框
的值改为 本地上传文件夹
,随后点击 上传
,选择 解压好的文件夹
,最后点击 保存
。注意,解压后查看一下是否包含两层文件夹,如果是,上传内层。
获取并填写 refresh_token
进入 该网址(世纪互联版点我),点击其中的 Get a refresh_token
,在打开的微软账号登录页面中,填写你的 OneDrive 账号和密码
,完成登录。
T]W\_6)TC%RBYPYG8UV.png" title="5}RT]W
\_6)TC%RBYPYG8UV.png">
稍等片刻页面将返回 refresh_token
,复制它备用。
进入 SCF 函数代码
面板,选中 index.php
,将得到的 refresh_token
粘贴进,下图所示的单引号之间,最后点击靠近左下方的 保存
。
配置环境变量
进入 函数配置
面板,点击靠近右上角的 编辑
按钮。
在新面板中,将 内存
修改为 512M
,当然 64M 也是可以运行的,需要说明的是,内存越大可用的免费时长越少;超时时间
填写 30
,随后添加几个环境变量,它们的功能如下:
名称 | 含义 | 备注 | 示例 |
---|---|---|---|
sitename | 站点名称 | 无 | 我的网盘 |
public_path | 要展示的根路径 | 无 | / |
private_path | 要展示的根路径 | 使用自定义域名时必须设置 | / |
imgup_path | 图床路径 | 其他网页可以引用上传的图片 | /图床 |
passfile | 密码文件名称 | 在某目录下添加该文件,里面写入密码即可加密文件夹 | password.txt |
admin | 管理员密码 | 管理员登录后功能更多 | 1234 |
添加触发方式
进入函数服务的 触发方式
面板,点击 添加触发方式
。选择触发方式下拉框中的 API网关触发器
,勾选下方的 启用集成响应
,点击 保存
。
稍等片刻,下方会出现一个 访问路径
,点击打开它。
出现网盘首页代表安装成功。
自定义域名(可选)
进入函数服务的 触发方式
面板,点击打开 SCF_API_SERVICE
。
打开服务界面的 自定义域名
面板,点击 新建
。
在添加域名对话框中,填写你的 域名
,协议
选择 http
,如果你想使用 https
,则必须在腾讯云 申请或上传 SSL 证书,如果你已经在其他平台申请过推荐直接上传,因为申请一般要等待数小时才能完成。未进行上述操作你看到的 证书下拉框
里将会是无
。网络类型勾选 外网
。选择 自定义路径映射
,添加一条记录,路径为 /
,指向 发布
环境。
打开你的域名解析服务商控制台,在域名解析列表里添加一条 CNAME 记录,值便是图中上方的 外网二级域名
。最后点击 提交
。
进入 管理 API
面板,点击 编辑
。
在 前端配置
面板中,将路径改为 /
,点击下一步。
在 后端配置
中,保证已勾选 启用集成响应
后点击 下一步
。
在 响应结果
面板,将 返回类型
改为 HTML
,点击 完成
。
在弹出的对话框中,点击 前往发布服务
。
在 服务信息
面板,点击靠近 右上角
的 发布
按钮。
在弹出的 发布服务
对话框中,将 发布环境
改为 发布
,备注
随意填写,最后点击 提交
。
现在就可以通过自定义域名访问你的网盘了。
使用 Github Pages 缩短长链接(可选)
如果你没有域名和服务器,可以通过 Github Pages 跳转的方式,适当缩短首次访问的路径长度,最终可以通过 username.github.io
打开你的网盘。
注册并登录 Github,随后打开 该仓库,点击靠近右上角的 Fork
。稍等片刻,打开页面中部的 index.html
。
点击靠近 右上角
的 铅笔
按钮,编辑该文件。
将你的 函数 API 网关访问路径
替换到文件中。
修改完毕后点击靠近页面最下方的 Commit changes
。
点击靠近右上角的 Settings
,将 Repository name
改成 你的 Github 用户名.github.io
,随后点击 Rename
。
下拉该页面,找到 Github Pages
,将 Source
下拉框的值改成 master branch
,如果没有则无需修改。
现在,就可以通过 你的 Github 用户名.github.io
访问网盘了。
功能建议、Bug 反馈,请前往 逸笙大佬主页,也请为他多多加星。
如有问题请在下方留言,文章转载请注明出处,详细交流请加下方群组!请大佬不要屏蔽文中广告,因为它将帮我分担服务器开支,如果能帮忙点击我将万分感谢。
大佬,我又来了,这个建立的网盘,只能单文件上传,请问怎么弄才能文件夹上传呢(不喜欢用onedrive)
谢谢了
大佬您好,我在创建触发管理的时候,显示没有权限,这该怎么解决?
在评论区看到了,thanks 楼主
问一下哦,这个能用来续e5嘛::quyin:doubt::
噢,在评论区看到了::quyin:fue::
唉嘿嘿嘿,已经弄好啦,谢谢大佬,不过我想问问,可以新建账号吗
上传的时候有两个速度,一个即时速度,一个平均速度,哪个才是我的上传速度?
本文仅讨论安装问题呢
这个scf是不用收费的吗?还有API现在会收费吗
阅读文章开头
也就是说我正常上传下载文件是不会产生费用的吗
会,简单说,一人用一月不超 1 元。既然如此关心,认真阅读文章开头。
文件上传后变成了一个.tmp的文件是怎么回事?
一切功能问题请到原作者github反馈,本文仅讨论安装问题
问题解决了
单次最大能上传多大的文件?
为什么我点了上传后按键就没了?也没法上传?
解决了,我没看到左边的选择文件。。。
触发方式完成后点击保存没有出现访问路径,倒是提示
操作没有权限([TencentCloudSDKError] Code=InternalError.GetRoleError, Message=[QC_ STS] rol
这该怎么解决?
重新登录腾讯云SCF会弹出授权对话框,根据提示授权
我听别人说好像新的scf不能续费了
博主能回答下吗
E5续期和SCF没关系,只要调用微软API即可,所以新旧无区别
那请问可以与其他调用API的程序一起用吗
随便用
这种方法可以让E5续费吗?
可以
存储视频并且用这个教程调用,在线观看的时候,视频会出现比较卡顿的现象,甚至有时候直接返回提示要等待30秒的错误码。
有没有解决办法?
运营商问题,没有办法,想折腾可以用服务器或 CF 反代
刚刚解决了,套个CDN就行了@(吐舌)
那个函数代码的下载出现页面找不到了@(捂嘴笑)
直接点击,不要复制地址在新窗口打开
触发方式界面,点访问路径出现{"errorCode":-1,"errorMessage":"Task timed out after 3 seconds"} 请问怎么解决啊
无详细信息,建议重新操作
大佬,我用xxx.github.io弄了个博客,然后用xxx.github.io/wp按教程弄了网盘,但是网盘跳转不了,之前有、只有网盘的使用用xxx.github,io可以正常跳转,请问我要怎么弄才对呢
自己把 index.html 移动到 /wp/ 目录里
问下大佬,自定义域名中绑定的域名需要备案嘛???
地区选香港不用
你好,根据大佬的这个版本搭建好了,但是有个bug不知能否帮忙看一下。
我看到大佬的这个游客在图床目录上传的时候用的是base64upfile那个代码。 原版好像是和管理员的登录后一样的上传方式。大佬这个游客上传的图片文件名成了只显示后缀的文件,比如.jpg .png。请问要如何修改成和管理员一样的上传方式?先谢谢了。@(吐舌)
装新版即可
新版是本文中上传函数代码那部分的文件吗?我今天刚搭的,莫非有其他新版吗?
见开头新版教程链接
看到了,谢谢了!@(哈哈)
您好,我想问一下触发方式添加好之后生成的访问路径打开显示 :此网站无法提供安全连接service-2b26hf1k-1301302930.ap-hongkong.apigateway.myqcloud.com 发送的响应无效。
腾讯云香港空间挂了,先换其他地区
好的,谢谢大佬
为啥我看不到 refresh_token,总是闪一下
世纪互联账号吗
您好,我想问一下,我在API网关触发器这一步点击网址显示了此站点的连接不安全,发送了无效的响应,这个怎么解决?麻烦告知一下,谢谢
腾讯云问题,现在应该可以了