做爲新一代雲原生應用引擎(App Engine 2.0),雲託管擁有無痛遷移、自動化彈性擴縮容、免運維、支持跨****平臺部署和聯動雲開發能力等優點,讓開發者能夠不限語言框架,低成本遷移上雲開發,有效提高開發效率。node
那麼,可否在雲託管中操做雲開發的基礎能力雲數據庫呢?數據庫
固然能夠!下方是部署教程:npm
登陸 雲開發 CloudBase 控制檯,選擇一個環境,進入雲託管管理頁面,單擊「當即開通」。json
雲託管當前已**開放上海和廣州地域 **,更多地域將陸續開放。小程序
網絡設置包括 私有網絡 VPC 和 子網。 以環境爲維度,雲託管中建立的全部服務,都將部署在這同一個 VPC 之中,且成功開通雲託管後不支持更換網絡設置。後端
網絡設置分爲以下兩種模式:服務器
雲託管將爲您自動新建一個 VPC 和子網,並將其綁定您當前的雲開發環境。網絡
後續您在當前環境下的雲託管中建立的全部服務,都將被部署到這個 VPC 和子網中。app
此過程無需您手動進行任何設置。 後續您能夠在 私有網絡控制檯 中查看並管理這個由雲託管自動建立的 VPC 及子網,也能夠將更多雲資源(例如雲服務器,雲數據庫等)部署在這個 VPC 以內,以便這些雲資源進行互動。框架
若是您以前已經建立過私有網絡 VPC 和子網,並在其中已經部署有其餘雲資源(例如雲服務器、雲數據庫等),且須要您的雲託管應用與這些已存在的雲資源進行互動,則您能夠選擇「自定義配置」,選擇具體的 VPC 和子網。
單擊「提交」,狀態變爲開通中 ,請等待數秒 。
開通成功後,您將自動跳轉到雲託管的服務列表頁面。
至此您已經成功開通後 **雲託管 **服務,您能夠單擊「新建服務」開始部署。
單擊「新建服務」,填寫服務名稱、備註信息(選填)後,單擊「提交」。
本文中使用 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>
進行訪問
使用騰訊雲提供的 @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 客戶端等),幫助開發者統一構建和管理後端服務和雲資源,避免了應用開發過程當中繁瑣的服務器搭建及運維,開發者能夠專一於業務邏輯的實現,開發門檻更低,效率更高。