共计 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 的支持。