雲開發CloudBase爲開發者提供靜態網站託管的能力,靜態資源(HTML、CSS、JavaScript、字體等)的分發由對象存儲 COS 和擁有多個邊緣網點的 CDN 提供支持。html
本篇文章將使用雲開發 Node.js 管理端 SDK演示,只需簡單幾步便可在雲函數中上傳文件到靜態網站託管。node
打開騰訊雲控制檯,在右上角頭像位置下拉菜單中找到訪問管理並點擊進入。數據庫
選擇左側菜單欄中的訪問密鑰-API密鑰管理,點擊新建密鑰。json
點擊「顯示」,根據提示操做便可得到密鑰。小程序
打開雲開發 CloudBase 控制檯,選擇按量付費環境,選擇左側菜單欄的雲函數。後端
點擊新建雲函數,而後根據提示信息填寫雲函數配置信息,完成建立便可。api
點擊剛剛建立的雲函數,進入編輯頁面,點擊「函數代碼」。服務器
複製測試代碼到新建立的雲函數中,並修改envId(雲開發環境id)、secretId和secretKey(獲取方式見上一步)。微信
const CloudBase = require('@cloudbase/manager-node') const fs = require('fs') const { hosting } = new CloudBase({ secretId: 'Your SecretId', // 騰訊雲API密鑰SecretId https://console.cloud.tencent.com/cam/capi secretKey: 'Your SecretKey', // 騰訊雲API密鑰SecretKey https://console.cloud.tencent.com/cam/capi envId: 'Your envId' // 雲開發環境ID,可在騰訊云云開發控制檯獲取 https://console.cloud.tencent.com/tcb/env/index }) exports.main = async(event, context) => { //寫入文件到雲函數臨時目錄 const content = '測試內容!' fs.writeFile('/tmp/test.txt', content, (err) => { if (err) { return console.log(err); } console.log("File saved successfully!"); }) let fileCount = 0 // 上傳文件 await hosting.uploadFiles({ files: [{ localPath: '/tmp/test.txt', cloudPath: 'hosting/test_data/data.txt' }], ignore: ['**/ignore.*'], onFileFinish: () => { fileCount++ } }) console.log(fileCount) // 1 return fileCount }
以及 package.json 文件:less
{ "name": "tcb_scf2hosting", "version": "1.0.0", "description": "使用雲函數上傳文件到靜態網站託管", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@cloudbase/manager-node": "latest" }, "author": "XiaoLin", "license": "ISC" }
編輯完成後點擊左下方保存並安裝依賴按鈕。並等待右上角出現雲函數更新成功提示後便可。
打開右上角的測試按鈕,點擊運行測試,出現以下結果說明測試成功。
打開所操做雲環境的靜態網站託管便可看到剛剛上傳的資源信息。
本文經過雲開發 Node.js 管理端 SDK 以及運用雲函數臨時讀寫文件的 tmp 目錄,來實現使用雲函數上傳文件到靜態網站託管。
除了雲函數,雲開發 manager-node sdk 還支持開發者經過接口形式對雲開發提供的數據庫、文件存儲等資源進行建立、管理、配置等操做,歡迎體驗:https://docs.cloudbase.net/api-reference/manager/node/introduction.html
雲開發(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 最新資訊關注微信公衆號【騰訊云云開發】