共計 2365 個字符,預計需要花費 6 分鐘才能閱讀完成。
如何用 Serverless 快速在 APP 中構建調研問卷,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
前言
Serverless 計算讓開發者能夠以更高的靈活性和更低的成本構建現代應用程序。開發者無需配置和管理服務器等基礎設施,可將全部精力投入核心業務。
Serverless 相比傳統的 serverful 開發方式有著本質的區別:
計算和存儲的解耦;它們獨立擴展,獨立定價;
代碼的執行不再需要手動分配資源;
按使用量計費。
Serverless 快速構建構建 APP 問卷調查
函數服務作為 Serverless 架構中的核心計算組件,可應用于各類 Serverless 架構,主要包括兩大類:Web、移動、IoT、AI 等無服務器后端和數據處理系統后端。
其中,Web、移動 serverless 后端的典型場景應用最為廣泛,本文介紹如何使用函數服務 +API 網關分分鐘在京東云 APP 中構建用戶問卷調查。
構建 APP 問卷調查可由兩個簡單函數完成:獲取問卷內容和提交答案。
Step1:創建存儲
創建一個用于存儲問卷題庫及用戶答案的數據庫或對象存儲 bucket,本示例創建一個云緩存 Redis 實例(主從 4GB)。
Step2:創建函數
在函數服務中創建并測試兩個函數(運行時: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
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
函數測試
Step 3:創建發布 API
在 API 網關創建兩個 API,作為觸發器綁定至對應函數,通過 function 響應 API 請求,并將 API 發布至測試環境。jcloud-app-survey-topic 函數綁定 API 觸發器如下:
jcloud-app-survey-submit 函數綁定 API 觸發器如下:
Step 4:驗證上線
通過本地 API 接口測試工具驗證 API 接口無誤,即可與前端 H5 頁面開發聯調,測試完成后,可通過函數版本、別名功能管理線上函數迭代發布。
以上,快速完成 APP 后端上線,只等活動上線
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。