ueditor上传图片写入数据库_如何在云托管中操作云开发数据库?

b1399806812b663bba46c77dbda95894.png

作为新一代云原生应用引擎(App Engine 2.0),云托管拥有无痛迁移自动化弹性扩缩容免运维支持跨平台部署联动云开发能力等优势,让开发者可以不限语言框架,低成本迁移上云开发,有效提升开发效率。  

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

当然可以!下方是部署教程:

709818df105698e31a653b26e023b80a.png

准备工作

  • 开通 CloudBase 云开发环境
  • 注意:包年包月 环境无法开通云托管

第 1 步: 开通

登录 云开发 CloudBase 控制台,选择一个环境,进入云托管管理页面,单击「立即开通」。
66f9e0d3b366f687855cb9d7b4f16844.png

第 2 步: 配置云托管

所在地域

云托管当前已开放上海和广州地域 ,更多地域将陆续开放。

云托管网络

网络设置包括 私有网络 VPC 和 子网。 以环境为维度,云托管中创建的所有服务,都将部署在这同一个 VPC 之中,且成功开通云托管后不支持更换网络设置。

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

系统默认配置

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

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

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

自定义配置
如果您之前已经创建过私有网络 VPC 和子网,并在其中已经部署有其他云资源(例如云服务器、云数据库等),且需要您的云托管应用与这些已存在的云资源进行互动,则您可以选择「自定义配置」,选择具体的 VPC 和子网。

开通成功

单击「提交」,状态变为 开通中 ,请等待数秒 。
dab8c6f162e7cbba00f902924700be3e.png
开通成功后,您将自动跳转到云托管的服务列表页面。 至此您已经成功开通后 云托管 服务,您可以单击「新建服务」开始部署。

新建服务

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

d5d218943c81d9ec6d29f62998713de8.png

搭建node环境

本文中使用 koa 来进行搭建,使用以下依赖。
koa koa-router koa-body koa-onerror

初始化项目

mkdir datamanage && cd datamanage
touch index.js && npm init

我 们会获得一个如下结构目录
f804ac1142191a764188cd5fece982fb.png

完善 index.js 入口文件:

const Koa = require('koa')const Router = require('koa-router')const koaBody = require('koa-body')const app = new Koaconst 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   的文件:

#拉取node镜像FROM node:12-slim# 指定落地路径WORKDIR /usr/src/app#拷贝依赖记录文件COPY package*.json ./#使用npm install 安装相关依赖RUN npm install --only=production#将代码复制到容器COPY . ./#启动命令CMD [ "npm", "start" ]

打包文件

打包文件路径需要与 DockerFile 文件配置中一致。

292ff9a54ef791d5189c1e4bbea6bbf8.png

部署至云托管

进入服务后,单击「新建版本」,可选择多种上传方式本文中使用 本地代码上传方式 ,按照图中步骤依次操作后,单击「开始部署」(部署时间跟DockerFile文件中的复杂程度有关)。
6b1365088cc333ab7747a9910bff0283.png
等待部署完成后,单击上方「服务配置」,单击「路径」,修改为 /
d74aaf3647e35a12dc46ba73f6416113.png
开 启公网访问之后我们的应用就可以线上进行访问了

0517c6e4692c8c7b0ae4cfcfefc3ea93.png

通过 postman 进行访问

88f1aa19d6cdfe2943080f39d957db27.png

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

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

完善下之前的代码

const Koa = require('koa')const Router = require('koa-router')const koaBody = require('koa-body')const app = new Koaconst 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.bodylet {
        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 向云开发数据库写入一条记录
a8648b1e1db040d1e8236d7f69479dfa.png
记录已经成功写入(CloudBase 服务端 SDK 已经与云托管进行集成,无需手工填入密钥即可使用)

a1792d8c2e6fe1f9164f5f3a2502b08f.png

搞定~现在可以直接通过云托管操作云开发数据库,更多内容可前往Node.js SDK API 进行查看。

总结

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

 更多精彩 点击下方图片即可了解 5d94a7095e907f751b54e3c7b28f9b8f.png △  总包价29.9,云开发域名备案上线丨附双十一惊喜优惠 19b88c4b20a23e7c2fa412f9e7f22902.png △ “这个需求很简单,怎么实现我不管” 7aa9221f07376df77b59ad370f62dcd5.png

△ 云托管正式上线,体验有礼快来尝鲜!


843a4eef9e4daa4349da6fad638b6dc9.png
由于公众号推送规则更改,请多多 分享点赞“在看” ,以及时获取云开发Cloudbase的最新动态。

      点击在看让更多人发现精彩32493ba5ae933e58e6dcaf4e08305e97.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值