初探serverless(腾讯云函数)

官方文档:https://cloud.tencent.com/document/product/583

闲来无聊,一直听说serverless最近比较火热,试了下腾讯的serverless云函数。

个人对于serverless的理解:

其实serverless顾名思义,就是无服务器架构,并不是说不需要服务器,只是服务器的管理与资源分配无需用户关系,用户只需要编写对应的函数,提交到对应平台,然后配置对应的触发器即可。要知道全栈开发工程师最大的拦路虎并不是nodejs,而是服务器的运维管理,通过serverless用户只需要编写node代码即可,大大提高了开发效率,个人感觉有点像编写RPC风格接口。

云函数创建方法:

1.使用控制台创建函数

2.使用CLI创建函数

3.使用VS Code插件创建函数

这里使用第三种:

1.首先通过VS Code的EXTENSIONS下载Tencent Serverless

2.进入插件,接着创建一个腾讯云用户凭证,创建凭证需要腾讯云的账号 ID(https://console.cloud.tencent.com/developer)以及SecretID 和SecretKey(https://console.cloud.tencent.com/cam/capi)。

3.点击就可以添加函数了,添加完成后在文件目录下就有如下文件:

默认函数代码如下:

'use strict'; 
exports.main_handler = async (event, context, callback) => {
    console.log("%j", event);
    return "hello world"
};

4.点击可以进行本地调用选择,执行结果如下:

nice,根据预期返回了hello world,那么如何进行远程调用呢,这时可以点击上传到云端,这个时候有可能会提示,这时需要为云函数添加角色(https://console.cloud.tencent.com/cam/role),添加完角色在template.yaml文件中Role添加对应角色,再次点击上传云端即可。

5.进入https://console.cloud.tencent.com/scf/list可以看到刚才上传的函数

点击进入函数,为其添加一个触发方式,

点击保存后能通过访问路径即可远程调用

一个云函数最简单的helloworld完成。

helloworld成功了,接下来试试看连接数据库,cd到函数文件,npm init初始化npm,然后npm install mysql2 --save,然后就可以在node文件中操作mysql了,代码如下:

'use strict'; 
const DB_HOST       = 'xxxx'
const DB_PORT       = 'xxxx'
const DB_DATABASE   = 'xxxx'
const DB_USER       = 'xxxx'
const DB_PASSWORD   = 'xxxx'
const promisePool = require('mysql2').createPool({
    host              : DB_HOST,
    user              : DB_USER,
    port              : DB_PORT,
    password          : DB_PASSWORD,
    database          : DB_DATABASE,
    connectionLimit   : 1
  }).promise();
exports.main_handler = async (event, context, callback) => {
    let result = await promisePool.query('select * from user')
    return {
      data:result[0],
      code:200
    }
};

打开浏览器输入访问路径,发现成功从mysql库中拉取了对应的数据。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值