云開發(fā) 云開發(fā)資源管理

2020-07-23 15:42 更新

一、開發(fā)人員的工具鏈

1、通過云開發(fā)網(wǎng)頁后臺管理云開發(fā)資源

我們可以登錄騰訊云官網(wǎng)的 云開發(fā)后臺管理,選擇使用微信公眾號登錄,然后用該小程序管理員的微信掃描二維碼,就可以在網(wǎng)頁控制臺里看到我們使用微信開發(fā)者工具創(chuàng)建的小程序云開發(fā)資源了。

騰訊云官網(wǎng)的云開發(fā)環(huán)境列表

在這里可以管理小程序云開發(fā)的數(shù)據(jù)庫、文件(存儲)、云函數(shù)、監(jiān)控告警、日志檢索以及環(huán)境設置,也可以對云開發(fā)資源的服務進行續(xù)費,是一個完全可以替代云開發(fā)控制臺的可視化管理工具。

騰訊云官網(wǎng)的云開發(fā)資源管理界面

騰訊云的這個云開發(fā)網(wǎng)頁控制臺相比開發(fā)者工具的控制臺來說,功能更多更全面,很多新的功能也是會先發(fā)布在這里,比如:

  • 靜態(tài)網(wǎng)站托管:可以將hexo、vuepress、hugo等生成的靜態(tài)博客、自己創(chuàng)建的靜態(tài)網(wǎng)頁網(wǎng)站托管到云開發(fā)環(huán)境里;

  • 文件存儲的緩存設置:緩存過期配置是一套針對用戶文件的緩存策略,可降低CDN回源率;

  • 云存儲安全規(guī)則

  • 用戶管理的登錄設置:跨多端必不可少的功能,支持自定義登錄、微信公眾平臺、微信開放平臺以及匿名登錄等;

  • 云函數(shù)的HTTP 觸發(fā):HTTP 觸發(fā)是云開發(fā)為開發(fā)者提供的 HTTP 訪問服務,讓開發(fā)者可以通過 HTTP 訪問到自己的云開發(fā)資源。

  • 私有網(wǎng)絡,是一塊在騰訊云上自定義的邏輯隔離網(wǎng)絡空間,可以為云服務器、云數(shù)據(jù)庫等資源構建邏輯隔離的、用戶自定義配置的網(wǎng)絡空間,以提升用戶云上資源的安全性,并滿足不同的應用場景需求;

  • 云函數(shù)除了支持Nodejs還支持php,之后可能會增加更多的編程語言;

  • 可以按資源包購買云環(huán)境的資源,開啟按量付費之后,購買資源包更劃算;

  • 云開發(fā)環(huán)境的自動降配:云開發(fā)環(huán)境到期后若滿足條件,系統(tǒng)將自動為您降為免費版環(huán)境,避免存儲的資源因付費不及時而被清空

  • 拓展能力:支持圖像安全審核、圖像標簽、圖像處理、圖像盲水印等,而且拓展能力還在持續(xù)添加中

2、跨云開發(fā)環(huán)境進行管理

如果你開通了多個云開發(fā)環(huán)境(小程序云開發(fā)環(huán)境、Web端云開發(fā)環(huán)境等),也就有了多個云開發(fā)資源環(huán)境,那我們是否可以在A小程序的云函數(shù)里調(diào)用B小程序的云開發(fā)資源呢?當然可以,通過@cloudbase/node-sdk這個依賴就能很方便的實現(xiàn)。

@cloudbase/node-sdk也就是云開發(fā)的服務端SDK,讓你可以在服務端(如騰訊云云函數(shù)或 CVM 等)使用 Nodejs 服務訪問 云開發(fā) 的服務,也就是服務端SDK是云開發(fā)環(huán)境必備的一個依賴。在我們給云函數(shù)安裝wx-server-sdk時就已經(jīng)同時安裝了該依賴,也就是我們無需再安裝就可以直接用它來實現(xiàn)跨云開發(fā)環(huán)境來調(diào)用資源。

比如我們可以在A小程序的云函數(shù)里填入B小程序的secretId和secretKey以及環(huán)境ID,這里的secretId和secretKey,

  • 可以填寫B(tài)小程序的appid和key,這個在B小程序的控制臺就可以找到,因為小程序云開發(fā)的環(huán)境可以創(chuàng)建兩個,所以我們可以通過填寫環(huán)境ID來確定是哪個環(huán)境;

  • 你也可以騰訊云 API 固定密鑰對,騰訊云密鑰對獲取,這個密鑰對會管理該賬號下的所有云開發(fā)環(huán)境,我們可以通過填寫環(huán)境ID來確實是哪個環(huán)境

  • 如果不填寫secretId和secretKey,就表示初始化的是A小程序的云開發(fā)環(huán)境了。

比如我們想在A小程序的云函數(shù)里對B小程序的數(shù)據(jù)庫進行增刪改查,在A小程序的云函數(shù)里比如云函數(shù)名為cross,在cross云函數(shù)的index.js里寫如下代碼,當我們在小程序調(diào)用cross云函數(shù)時,就能往B小程序的數(shù)據(jù)庫里添加一條記錄了:

const cloud = require('wx-server-sdk')
cloud.init({ //任意云開發(fā)環(huán)境,包含B小程序創(chuàng)建的云開發(fā)環(huán)境,你一定要找到對應的騰訊云的secretId和secretKey哦
  secretId: 'AKIDUmqiIcQUyA...GsDH6frnvcjZ',
  secretKey: 'iChEVXL7mBKJ...GqRmrgFYZ7',
  env: 'hac...1279b' 
})
const db = cloud.database()
exports.main = async (event, context) => {
  const {OPENID} = cloud.getWXContext()
  const result =  await db.collection('test').add({
    data:{
      openid:OPENID,
      name:"李東bbsky",
      interest:['爬山','旅游','讀書']
    }
  })
  return result
}

服務端SDK 也就是@cloudbase/node-sdk的用法,與小程序云函數(shù)端(服務端)的用法是一致的。該依賴更多信息可以通過閱讀在Github上的技術文檔來了解。

@cloudbase/node-sdk是云開發(fā)Nodejs的服務端SDK,而云開發(fā)也在不斷支持更多的編程語言,比如php,而tcb-php-sdk則是云開發(fā)php語言的服務端SDK。

3、通過CLI工具來管理云開發(fā)資源

CloudBase CLI 是一個開源的命令行界面交互工具,用于幫助用戶快速、方便的部署項目,管理云開發(fā)資源。對于開發(fā)人員來說,我們還可以通過cloudbase-cliCLI工具使用命令行對云開發(fā)資源進行管理。

如果你想使用Visual Studio Code在電腦本地來開發(fā)小程序和進行Web端云開發(fā),可以使用Cloudbase Cli命令行工具來管理云開發(fā)的環(huán)境。

  • 云開發(fā)環(huán)境的創(chuàng)建、環(huán)境配置的創(chuàng)建、更改環(huán)境登錄方式、展示環(huán)境信息;

  • 云函數(shù)列表展示、下載、部署、刪除、更新代碼、更新配置、拷貝云函數(shù)、打印云函數(shù)日志、觸發(fā)云函數(shù);

  • 文件存儲文件列表、文件臨時訪問地址、文件信息、文件權限的獲取與設置、文件/文件夾的上傳、刪除、列表獲取、信息獲??;

  • 靜態(tài)網(wǎng)站的部署、刪除

  • HTTP Service的創(chuàng)建、刪除、綁定、解綁、查詢等

在電腦本地部署Nodejs環(huán)境,結(jié)合VS Code編輯器,Cloudbase CLI是一個可以取代微信開發(fā)者工具來做跨端云開發(fā)的重要工具,當然小程序和網(wǎng)頁的一些與賬號有關調(diào)試還是離不開微信開發(fā)者工具。

二、云開發(fā)后臺管理系統(tǒng)的開發(fā)

我們應該如何讓市場、運營、產(chǎn)品等來管理云開發(fā)的資源(如添加商品、發(fā)表文章等),通常我們需要搭建一個后臺,便于不懂代碼的人員來進行可視化管理,盡管我們可以把這個后臺直接搭建在小程序里面,但是PC端的后臺可能更加方便一些。

1、cloudbase-manager-node

cloudbase-manager-node是云開發(fā)的管理端SDK,它支持開發(fā)者通過接口形式對云開發(fā)提供的云函數(shù)、數(shù)據(jù)庫、文件存儲等資源進行創(chuàng)建、管理、配置等操作。

相比于云開發(fā)的服務端SDK,管理端SDK在管理云開發(fā)環(huán)境的資源上功能更加豐富;使用管理端SDK可以在本地電腦、Linux、Windows等服務器里搭建云開發(fā)環(huán)境的管理后臺。我們?nèi)匀豢梢园压芾矶藄dk cloudbase-manager-node引入到云函數(shù),取得一些服務端sdk(wx-server-sdk)沒有的能力,比如:

  • 檢查集合是否存在以及刪除集合 ,通過checkCollectionExists('')接口檢查集合是否存在,與創(chuàng)建集合結(jié)合起來使用,可以說是天作之合;管理噸SDK也可以deleteCollection('')刪除集合;

  • 操作索引 ,更新索引,判斷索引是否存在,獲取索引的信息,索引的命中次數(shù)、大??;

  • 導入導出數(shù)據(jù) ,將對象存儲里的csv 或 json文件導入到數(shù)據(jù)庫,也可以把數(shù)據(jù)庫里的數(shù)據(jù)導出到csv 或 json文件,并能獲取導入導出是否成功;

  • 文件夾操作 ,上傳或刪除文件夾,獲取文件夾里所有文件的信息,獲取并云存儲的權限;

  • 操作云函數(shù),獲取云函數(shù)列表,創(chuàng)建和刪除云函數(shù),更新云函數(shù)的代碼和配置,創(chuàng)建和刪除云函數(shù)的觸發(fā)器;

  • 創(chuàng)建發(fā)布層Layer ,通過Layer,同一個賬號內(nèi)的云函數(shù)可以復用代碼塊,跨賬號可以共享代碼塊;

  • 操作安全規(guī)則 ,不僅可以查看數(shù)據(jù)庫和云存儲的安全規(guī)則,還能修改數(shù)據(jù)庫和云存儲的安全規(guī)則;

tcb-php-sdk是云開發(fā)php語言的服務端SDK,那與之相應的,tcb-manager-php是云開發(fā)php語言的管理端SDK。

2、Web端SDK

云開發(fā)同樣適用于網(wǎng)站開發(fā),Web 端是云開發(fā)中針對網(wǎng)站應用的統(tǒng)稱,包含以下幾個場景:普通網(wǎng)站應用(PC 端)、移動頁面或者 H5 網(wǎng)頁、公眾號網(wǎng)頁。如果你想將云開發(fā)這種免服務器免運維的開發(fā)理念和方式貫徹到web端,也可以直接把小程序云開發(fā)的環(huán)境切換到按量付費,那這個環(huán)境就可以成為web端開發(fā)的環(huán)境,實現(xiàn)一云多端,不需額外購置服務器就能來在網(wǎng)頁Web端來管理小程序云開發(fā)環(huán)境里的資源。在后面我們也會簡單介紹一下Web端云開發(fā)的相關內(nèi)容。

3、云接入(HTTP觸發(fā))

云接入是云開發(fā)基于云函數(shù)之上為開發(fā)者提供的HTTP訪問服務,開發(fā)者可以輕松使用 POST、PUT、GET、DELETE等方法通過 HTTP 請求訪問到云開發(fā)環(huán)境內(nèi)的全部資源,而不需要使用Web端 SDK,后面也會具體介紹。

4、使用HTTP API來管理云開發(fā)資源

開發(fā)人員還可以使用HTTP API搭建一個網(wǎng)頁后臺,HTTP API適用于所有平臺所有的編程語言以及所有的平臺。云開發(fā)官方技術文檔有非常詳細的 HTTP API技術文檔 ,通過HTTP API我們可以實現(xiàn)對數(shù)據(jù)庫的集合、記錄、文件等的增刪改查以及觸發(fā)云函數(shù)。HTTP API可以完全被云接入以及SDK給取代,各方面的處理更好更合理,所以我們不再單獨介紹HTTP API啦。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號