腾讯云开发CloudBase的云函数使用入门

前提是已经购买了腾讯云的服务,并建立好了云开发环境,有环境ID

一、先在云数据库新建一个集合数据

在你的云开发环境里的 “云数据库” 里新建一个集合,比如叫 users ,并录入1个数据,比如

{ "name": "tom", "age": "18", "sex": "male" }

二,本地安装Cloudbase CLI工具

详细步骤可以参见官方文档:https://docs.cloudbase.net/cli-v1/install

npm i -g @cloudbase/cli

安装完毕之后检查一下是否安装成功

tcb -v

成功安装后必须要登录您的腾讯云账号

tcb login

三、建立云函数

详细步骤参见官方文档:https://cloud.tencent.com/document/product/876/41762

1、先在本机建立云函数代码,例如:

新建一个 my-cloudbase-service 文件夹,在此目录下再新建一个 “functions”文件夹,和一个“cloudbaserc.json”文件。在 functions目录 下创建 “getUser” 文件夹,包含 index.jspackage.json 两个文件。

cloudbaserc.json 文件内容样例如下:

{
  "envId": "your-env-id"
}

index.js 文件内容样例如下:

const cloudbase = require('@cloudbase/node-sdk')
const app = cloudbase.init({
    env: 'your环境ID',
})
const db = app.database()

exports.main = async (event, context) => {
    // event 里面是客户端httpRequest请求的内容,包含headers请求头,body请求体的请求数据等。
    const res = await db.collection('users').get()
    // get是从数据库取数据,插入数据是add
    return {
    	data: res.data,
    	status: '0',
    	desc: '成功'
    }
}

※如果需要往数据库插入记录,就再写一个 addUser 的云函数,index.js里面写入:

const cloudbase = require('@cloudbase/node-sdk')
const app = cloudbase.init({
    env: 'your环境ID',
})
const db = app.database()

exports.main = async (event, context) => {
    const _data = JSON.parse(event.body) || null
    if (_data) {
        const res = await db.collection('users').where({name: _data.name}).get()
        if (res.data) {
            return {
                status: '1',
                desc: '数据已存在'
            }
        } else {
            const response = await db.collection('users').add(_data)
            return {
                data: response,
                status: '0',
                desc: '成功'
            }
        }
    } else {
        return {
            status: '1',
            desc: '没有数据'
        }
    }
}

相应的 package.json 文件内容样例如下:

{
    "name": "getUser",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {},
    "author": "",
    "license": "ISC",
    "dependencies": {
        "@cloudbase/node-sdk": "latest"
    }
}

2、把本地写好的云函数发布到云服务器上,使用CLI命令

cloudbase functions:deploy getUser

3、为此函数创建一个HTTP访问的路由,使用CLI命令

cloudbase service:create -p /getUser -f getUser

4、访问此函数地址测试结果
可以在云控制台里的访问管理下的HTTP访问服务里看到接口地址例如:

可以直接在浏览器内打开 https://${env}.ap-shanghai.app.tcloudbase.com/getUser

四、云函数相关问题

1、如何调用已建好的云函数?
参见官方文档:https://cloud.tencent.com/document/product/876/41776
直接在页面里使用ajax请求即可,接口地址就是在云开发控制台里获取到的地址。

2、报CORS跨域错误怎么办?
进入云控制台里的访问管理里的HTTP访问服务,里面有个安全域名,设置你要的域名即可,需要一点时间才能生效。

3、调用云函数时控制台报错找不到node-sdk对象怎么办?
进入云控制台的云函数,点击一下你的函数名字,再点击里面的函数代码,在线编辑下方有一个保存并安装依赖的按钮,点击一下让它安装node依赖,提示成功后即可,如果提示缺少package.json文件,你就直接在线编辑里新建一个,复制代码填入即可。

4、如何快速启动一个本地服务?
使用 “npx serve” 命令,其他详细配置可参阅:https://segmentfault.com/a/1190000045107585

npx serve
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值