摘要:但小程序的云開發也有一些局限性,我會在下一篇小程序云開發實戰系列云數據庫里分享我使用云開發數據庫的一些體會,敬請期待。
因為工作原因,使用過亞馬遜AWS的serverless構架,當時就覺得這是一個非常適合小程序的基礎設施。今年開始自己的微信小程序開發,決定用serverless架構,于是便使用了騰訊云做為小程序的后端,總結下來有以下幾個痛點:
當暴露API給小程序時,需要使用已備案的域名。而在騰訊云里備案域名需要租用至少三個月的云服務器(無聊的套路)。但是我只用云函數,不需要云服務器。于是我花了一百多元租了個最低配云服務器只為了域名備案。
云函數的冷啟動耗時不是特別理想,我需要使用一個定時器每隔30秒觸發一次我比較常用的幾個云函數,確保它們總是處于熱啟動的狀態。
花了大量時間來配置云函數,對象儲存,云數據庫(用的是MySQL),CDN靜態加速,使它們之間能順暢的協同工作。令我意外的是騰訊云的人工客服系統。在配置系統時我經常會提交工單問一些自己難以解決的問題,有時是在凌晨兩點。而他們的客服和工程師有時會在一小時內回答我的問題!
這個月當我開始新的小程序項目(私貨夾帶:《Meetup丨活動報名組局》)發現微信開發者工具整合進了云開發。于是便有了這個云開發實戰系列。微信送了兩個云環境,一個用于開發,一個用于發布。我命名一個為dev,一個為release。這一篇我想主要談談關于環境配置踩過的坑。
坑一:當完成開發準備發布時,我從dev環境轉換到release環境。這個步驟并不是在云開發控制臺上選擇當前環境就能完成的,而需要在app.js里指定環境ID
App({ onLaunch: function () { if (!wx.cloud) { console.error("請使用 2.2.3 或以上的基礎庫以使用云能力") } else { wx.cloud.init({ env: "release-xxxx" // 你的環境ID traceUser: true, }) } } })
并在每一個云函數的cloud.init函數里指定環境ID
const cloud = require("wx-server-sdk") cloud.init({ env: "release-xxxx" // 你的環境ID }) const db = cloud.database()
坑二:從dev轉到release時,千萬不要忘記設置為release環境的數據庫設置相應的權限,否則新環境會使用默認的僅創建者及管理員可讀寫,而我的小程序主頁需要所有用戶可讀,僅創建者及管理員可寫權限,這個問題很容易在開發階段被忽視,因為開發測試時我一直是創建者身份。導致發布后朋友們紛紛告訴我打開后什么都沒有顯示:) 還好修改云開發不需要等待審核,第一時間糾正了錯誤。
坑三:使用定時觸發器需要在云函數文檔里添加一個config.json文件。但我花了一點時間才搞明白為什么觸發器沒有起作用。原來像往常一樣點擊“上傳并部署”云函數并不會使觸發器生效,而需要點擊“上傳觸發器”。
也許你已經發現其實我自己的粗心大意對這些坑負有責任,一些問題在小程序開發文檔里有提及,比如設置環境ID。我只想說這些是很容易被忽略,但后果嚴重的問題。希望通過我的分享能幫大家節省點時間。我基本上對小程序云開發持相當正面的評價。它解決了我在使用騰訊云時遇到的三個痛點:1. 不再需要域名備案(備案通常需要好幾天的時間,而且過程繁瑣,需要填很多表,拍幕布照片等)2. 云函數的冷啟動時間有改善,貌似微信針對性地做了優化,我不再需要設置定時觸發來保證它們總處于熱啟動狀態。3. 省去了自己搭建云后臺所需要的配置過程,實現了開箱即用。
但小程序的云開發也有一些局限性,我會在下一篇《小程序云開發實戰系列02--NoSQL云數據庫》里分享我使用云開發數據庫的一些體會,敬請期待。
本系列第二章:小程序云開發實戰系列02--云數據庫
《Meetup丨活動報名組局》是我最近開發的一個活動報名預約工具小程序,這個系列文章主要來自我在開發這款小程序時的一些體會心得。感興趣的小伙伴可以掃下面的二維碼進入我的小程序。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100242.html
摘要:需要指出的是微信小程序關于云數據庫的開發文檔非常的簡略,對于像我這樣沒有太多經驗的用戶,很多時候需要參考的相關文檔。而更讓我苦惱的是微信小程序云開發集成的這個云數據庫是一個簡化版,只提供了非常有限的原子操作指令。 showImg(https://segmentfault.com/img/bVbmTlI?w=1000&h=563);以前一直是使用關系型數據庫,第一次使用NoSQL,跟大家...
摘要:需要指出的是微信小程序關于云數據庫的開發文檔非常的簡略,對于像我這樣沒有太多經驗的用戶,很多時候需要參考的相關文檔。而更讓我苦惱的是微信小程序云開發集成的這個云數據庫是一個簡化版,只提供了非常有限的原子操作指令。 showImg(https://segmentfault.com/img/bVbmTlI?w=1000&h=563);以前一直是使用關系型數據庫,第一次使用NoSQL,跟大家...
摘要:云函數支持單文件更新為了優化云函數代碼的上傳體驗,云函數新增單文件更新功能。開發者可在需上傳文件右鍵選擇云函數增量上傳體驗單文件更新能力。云調用云調用是云開發提供的基于云函數使用小程序開放接口的能力,目前覆蓋服務端調用開放數據等場景。 開篇彩蛋 由于近期小程序·云開發將上線付費功能(付費功能針對非基礎資源配額,基礎資源配額仍可免費使用)。為了給開發者更充足的時間進行調整,對于截止 20...
閱讀 2665·2023-04-26 02:44
閱讀 8491·2021-11-22 14:44
閱讀 2123·2021-09-27 13:36
閱讀 2487·2021-09-08 10:43
閱讀 680·2019-08-30 15:56
閱讀 1396·2019-08-30 15:55
閱讀 2890·2019-08-28 18:12
閱讀 2832·2019-08-26 13:50