来自腾讯云官方的定义:
https://cloud.tencent.com/document/product/583/56124
Web 函数(Web Function)是云函数的一种函数类型,区别于事件函数(Event Function)对于事件格式的限制,专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行
相较于事件型函数,Web 函数在支持 Web 服务场景的能力上,具备以下优势:
执行顺序:
此中涉及的公共请求头包括:
Header 字段 | 描述 |
---|---|
X-Scf-Request-Id | 当前请求 ID |
X-Scf-Memory | 函数实例运行时可使用的最大内存 |
X-Scf-Timeout | 函数执行的超时时间 |
X-Scf-Version | 函数版本 |
X-Scf-Name | 函数名称 |
X-Scf-Namespace | 函数所在命名空间 |
X-Scf-Region | 函数所在地域 |
X-Scf-Appid | 函数所有者的 Appid |
X-Scf-Uin | 函数所有者的 Uin |
要使用腾讯云 Web Function 功能,首先需要 注册腾讯云账号 完成 实名认证 。
进入云函数主页:https://console.cloud.tencent.com/scf/index?rid=1
到这一步结束,创建云函数的过程就完成了,云函数服务也有了基础的处理能力,接下来就是实现我们自己的代码啦!
完整请求 “包含数字、小写字母、大写字母、特殊字符,长度为 6 位的密码”
https://service-9sbklqg7-1252211023.bj.apigw.tencentcs.com/release/gen-password?len=6&digit=1&upper=1&lower=1&sp_chars=!@#
在 app.js 的 app.get('/500', (req, res) => { ... });
方法后增加以下代码:
// ↓↓↓ 生成随机密码 ↓↓↓
function randomInt(min, max) {
return Math.floor(Math.random() * (max - min) ) + min;
}
function randomChar(strArr) {
var str = strArr.join("");
return str[randomInt(0, str.length)];
}
function shuffle(arr) {
return arr.sort(function() {
return .5 - Math.random();
})
}
// 生成随机密码
const DIGITS = "0123456789";
const LOWER_CHARS = "abcdefghijklmnopqrstuvwxyz";
const UPPER_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
app.get('/gen-password', (req, res) => {
let l_chars = req.query.lower ? LOWER_CHARS : "";
let u_chars = req.query.upper ? UPPER_CHARS : "";
let d_chars = req.query.digit ? DIGITS : "";
let sp_chars = req.query.sp_chars || "";
let len = req.query.len;
var pswd = [];
if(sp_chars.length) pswd.push(randomChar([sp_chars]));
if(l_chars.length) pswd.push(randomChar([l_chars]));
if(u_chars.length) pswd.push(randomChar([u_chars]));
if(d_chars.length) pswd.push(randomChar([d_chars]));
for(var i = pswd.length; i <= len; i++) {
pswd.push(randomChar([d_chars, u_chars, l_chars, sp_chars]));
}
res.send(shuffle(pswd).join(""));
});
// ↑↑↑ 生成随机密码 ↑↑↑
代码插入完毕后,讲页面往下滑动,直到出现部署按钮,点击并完成部署。
在浏览器中访问测试地址
https://service-9sbklqg7-1252211023.bj.apigw.tencentcs.com/release/gen-password?len=6&digit=1&upper=1&lower=1&sp_chars=!@#
得到结果如下。
看到随机生成的密码啦~
腾讯云的 Web Function 为我们提供了很舒服、方便的云服务环境,免去了装系统、搭环境的种种繁冗的工作,方便我们快速实现自己的业务,并且随处可用,也非常适合团队开发。我会推荐我身边的朋友、同事来体验 Serverless 模式开发。
上手容易程度 ★★★★★
操作流畅程度 ★★★★★
功能完善程度 ★★★★☆
部署方便程度 ★★★★☆
开发自由程度 ★★★★☆
目前的体验中,没有发现很严重的问题,速度也非常快,在线编辑也非常贴近本地开发。
不过还是有些小小的建议:
------
更多关于腾讯云 Web Function 的内容,敬请关注~
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。