您好,登錄后才能下訂單哦!
如何用Serverless快速在APP中構建調研問卷,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Serverless計算讓開發者能夠以更高的靈活性和更低的成本構建現代應用程序。開發者無需配置和管理服務器等基礎設施,可將全部精力投入核心業務。
Serverless相比傳統的serverful開發方式有著本質的區別:
計算和存儲的解耦;它們獨立擴展,獨立定價;
代碼的執行不再需要手動分配資源;
按使用量計費。
函數服務作為Serverless架構中的核心計算組件,可應用于各類Serverless架構,主要包括兩大類:Web、移動、IoT、AI等無服務器后端和數據處理系統后端。
其中,Web、移動serverless后端的典型場景應用最為廣泛,本文介紹如何使用函數服務+API網關分分鐘在京東云APP中構建用戶問卷調查。
構建APP問卷調查可由兩個簡單函數完成:獲取問卷內容和提交答案。
創建一個用于存儲問卷題庫及用戶答案的數據庫或對象存儲bucket,本示例創建一個云緩存Redis實例(主從4GB)。
在函數服務中創建并測試兩個函數(運行時:Python2.7)
創建函數1
創建函數jcloud-app-survey-topic:請求用戶PIN,問卷版本version,從數據庫獲取問卷內容,將入口文件index.py與依賴庫redis SDK打包上傳至函數服務。index.py代碼如下:
#coding=utf-8 import json import redis'''下載問卷''' def handler(event,context): if not bool(event): result = { 'statusCode': 200, 'headers': {}, 'body': "", } return result body = event['detail']['body'] body = json.loads(body) pin = body.get('pin', "") version = body.get('version', "") print(pin) print(version) r = redis.Redis(host='redis-v214pzrgiicq-proxy-nlb.jvessel-open-hb.jdcloud.com', port=6379, db=0) topic = r.hget('topic_' + version, version) data = {'pin': pin, 'version': version, 'topic': topic} data = json.dumps(data) result = { 'statusCode': 200, 'headers': {}, 'body': data, } return result
函數測試
創建函數2
創建函數2jcloud-app-survey-submit :請求用戶PIN,問卷版本version,用戶答案submit,上傳至數據庫,將入口文件index.py與依賴庫redis SDK打包上傳至函數服務。index.py代碼如下。
#coding=utf-8 import json import redis''' 上傳問卷結果''' def handler(event,context): if not bool(event): result = { 'statusCode': 200, 'headers': {}, 'body': "", } return result body = event['detail']['body'] body = json.loads(body) pin = body.get('pin', "") version = body.get('version', "") submit = body.get('submit', "") print(pin) print(version) print(submit) r = redis.Redis(host='*********.jdcloud.com', port=6379, db=0) old = r.hget('submit_' + version, pin) if old != None : data = {'code': 1, 'desc': 'user have submitted'} data = json.dumps(data) result = { 'statusCode': 200, 'headers': {}, 'body': data, } return result r.hset('submit_' + version, pin, submit) data = {'code': 0, 'desc': 'success'} data = json.dumps(data) result = { 'statusCode': 200, 'headers': {}, 'body': data, } return result
函數測試
在API網關創建兩個API,作為觸發器綁定至對應函數,通過function響應API請求,并將API發布至測試環境。jcloud-app-survey-topic函數綁定API觸發器如下:
jcloud-app-survey-submit函數綁定API觸發器如下:
通過本地API接口測試工具驗證API接口無誤,即可與前端H5頁面開發聯調,測試完成后,可通過函數版本、別名功能管理線上函數迭代發布。
以上,快速完成APP后端上線,只等活動上線
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。