关于小程序:如何在云托管中操作云开发数据库

40次阅读

共计 3386 个字符,预计需要花费 9 分钟才能阅读完成。


作为新一代云原生利用引擎(App Engine 2.0),云托管领有 无痛迁徙 自动化弹性扩缩容 免运维 反对跨 平台部署 联动云开发能力 等劣势,让开发者能够不限语言框架,低成本迁徙上云开发,无效晋升开发效率。

那么,是否在云托管中操作云开发的根底能力云数据库呢?

当然能够!下方是部署教程:

筹备工作

  • 开明 CloudBase 云开发环境
  • 留神:包年包月 环境无奈开明云托管

第 1 步:开明

登录 云开发 CloudBase 控制台,抉择一个环境,进入云托管治理页面,单击「立刻开明」。

第 2 步:配置云托管

所在地区

云托管以后已 凋谢上海和广州地区 ,更多地区将陆续凋谢。

云托管网络

网络设置包含 公有网络 VPC 和 子网。以环境为维度,云托管中创立的所有服务,都将部署在这同一个 VPC 之中,且胜利开明云托管后不反对更换网络设置。

网络设置分为如下两种模式:

零碎默认配置

云托管将为您主动新建一个 VPC 和子网,并将其绑定您以后的云开发环境。

后续您在以后环境下的云托管中创立的所有服务,都将被部署到这个 VPC 和子网中。

此过程无需您手动进行任何设置。后续您能够在 公有网络控制台 中查看并治理这个由云托管主动创立的 VPC 及子网,也能够将更多云资源(例如云服务器,云数据库等)部署在这个 VPC 之内,以便这些云资源进行互动。

自定义配置

如果您之前曾经创立过公有网络 VPC 和子网,并在其中曾经部署有其余云资源(例如云服务器、云数据库等),且须要您的云托管利用与这些已存在的云资源进行互动,则您能够抉择「自定义配置」,抉择具体的 VPC 和子网。

开明胜利

单击「提交」,状态变为 开明中,请期待数秒。

开明胜利后,您将主动跳转到云托管的服务列表页面。

至此您曾经胜利开明后 云托管 服务,您能够单击「新建服务」开始部署。

新建服务

单击「新建服务」,填写服务名称、备注信息(选填)后,单击「提交」。

搭建 node 环境

本文中应用 koa<span> </span>来进行搭建,应用以下依赖。

koa

koa-router

koa-body

koa-onerror

初始化我的项目

mkdir datamanage && cd datamanage

touch index.js && npm init

咱们会取得一个如下构造目录

const Koa = require('koa')
const Router = require('koa-router')
const koaBody = require('koa-body')
const app = new Koa
const router = new Router()
const onerror = require('koa-onerror')


app.use(koaBody({multipart: true}))


router.get('/', async (ctx) => {
    ctx.body = {msg: 'Hello, Welcome to CloudBase!'}
})


app.on('error', (err, ctx) => {console.error('server error', err, ctx)
});


app.use(router.routes());
app.use(router.allowedMethods());

const port = process.env.PORT || 80;

app.listen(port, () => {console.log('Hello world listening on port', port);
});

在根目录中创立名为 Dockerfile<span> </span> 的文件:

# 拉取 node 镜像
FROM node:12-slim

# 指定落地门路
WORKDIR /usr/src/app


#拷贝依赖记录文件
COPY package*.json ./

#应用 npm install 装置相干依赖
RUN npm install --only=production

#将代码复制到容器
COPY . ./

#启动命令
CMD ["npm", "start"]

打包文件

打包文件门路须要与 DockerFile 文件配置中统一。

部署至云托管

进入服务后,单击「新建版本」,可抉择多种上传形式本文中应用 本地代码上传形式 <span> </span>,依照图中步骤顺次操作后,单击「开始部署」(部署工夫跟 DockerFile 文件中的复杂程度无关)。

期待部署实现后,单击上方「服务配置」,单击「门路」,批改为 /

开启公网拜访之后咱们的利用就能够线上进行拜访了

通过 postman<span> </span>进行拜访

第 3 步:连贯云开发数据库

应用腾讯云提供的 @cloudbase/node-sdk 来进行连贯

@cloudbase/node-sdk

欠缺下之前的代码

const Koa = require('koa')
const Router = require('koa-router')
const koaBody = require('koa-body')
const app = new Koa
const router = new Router()
const cloudbase = require("@cloudbase/node-sdk");
const onerror = require('koa-onerror')
const cloud = cloudbase.init({env: 'xxxx' // 请输入您本人的 envid 登录 [云开发 CloudBase 控制台](https://console.cloud.tencent.com/tcb)进行获取
});

const db = cloud.database();

app.use(koaBody({multipart: true}))

// error handler
onerror(app)

router.get('/', async (ctx) => {
    ctx.body = {msg: 'Hello, Welcome to CloudBase!'}
})

router.post('/add', async (ctx) => {

    let {
        user,
        password
    } = ctx.request.body

    let {
        id,
        code,
        message
    } = await db.collection('test').add({
        user,
        password
    })
    if (code) {
        ctx.status = 400
        ctx.body = {
            code: 0,
            msg: message
        }
    }

    ctx.body = {
        code: 1,
        msg: '增加胜利',
        id
    }
})

app.on('error', (err, ctx) => {console.error('server error', err, ctx)
});

app.use(router.routes())
app.use(router.allowedMethods())

const port = process.env.PORT || 80;

app.listen(port, () => {console.log('Hello world listening on port', port);
});

须要先上传版本

通过 postman<span> </span>向云开发数据库写入一条记录

记录曾经胜利写入(CloudBase 服务端 SDK 曾经与云托管进行集成,无需手工填入密钥即可应用)

搞定~当初能够间接通过云托管操作云开发数据库,更多内容可返回 Node.js SDK API 进行查看。

总结

以上就是应用云托管连贯云开发数据库攻略,整个部署过程简略快捷,快来一起试一试吧!

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、主动弹性扩缩的后端云服务,蕴含计算、存储、托管等 serverless 化能力,可用于云端一体化开发多种端利用(小程序,公众号,Web 利用,Flutter 客户端等),帮忙开发者对立构建和治理后端服务和云资源,防止了利用开发过程中繁琐的服务器搭建及运维,开发者能够专一于业务逻辑的实现,开发门槛更低,效率更高。
开明云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net?from=10004
技术交换加 Q 群:601134960
最新资讯关注微信公众号【腾讯云云开发】

正文完
 0