美文网首页
2. PMP成绩查询小程序之腾讯云函数

2. PMP成绩查询小程序之腾讯云函数

作者: 如果的if | 来源:发表于2020-02-09 12:09 被阅读0次

背景

在上一篇1. PMP成绩查询小程序之PMI网站分析
,我的小程序后台已经正式上线,能够正常的查询返回PMI网站的结果,但是从返回速度上来讲不是很理想:

  1. PMI网站架设在美国
    由于我后台云服务架设在上海,所以在通过PMI网站进行数据交互时,所花费的时候需要5-20s不等,也就是说网络最差的时候,小程序等待时间长达20s,给用户的体验不好。


    登录页面ip
    ip位置
  2. 密码输错5次以上,当前访问IP被锁15分钟
    由于我的云服务是独立IP,密码错误次数达到5后后,当前IP就会被锁15分钟。导致所有用户都无法正常查询。所以要考虑一下如何更换对外的公网IP。
    我在2020-02-09这天测试的时候,好像这个限制被取消了?

以上就是我需要优化的2个问题

解决思路

最近在看微信小程序的云函数,这个相信大家都不陌生,然后根据小程序的云函数我又翻阅了一下腾讯云的云函数。这俩个有什么区别呢?我做一个简单的对比
代表 微信小程序云函数 腾讯云函数

  1. 支持后台编程语言
    :node.js
    :node.js go java python php

  2. 免费使用项目
    :数据库访问,外网访问,文件上传下载,函数调用
    :函数调用(其他的都要花钱买)

这是一个简单对比,你会发现更加懵逼。微信小程序云函数算是腾讯云函数的一个子集,微信小程序云函数免费额度高,这也是为了小程序的生态而做。
由于对返回的网页数据进行有效的提取,所以我最关注的还是后台语言,再加之之前就用的python,可以完整迁移到腾讯云函数上面去。

过程

决定要迁移后,就开始进入腾讯云官网申请云函数

申请云函数

  1. 登录腾讯云
    点我可以直接进入云函数
    云函数
  2. 申请云函数
    选择函数服务,点击新建


    新建
  3. 选择函数区域
    选择区域时,由于网站在老美那边,所以我直接选的是 硅谷,这样访问速度就快得多。
    区域
  4. 选择模板
    函数名字自定义,环境我选择的是python3.6,模板就选第一咯helloworld


    环境模板
  5. 角色选择
    没有运行角色就新建一个,基本都选择默认这类的就行了


    权限角色
  6. 编辑函数


    编辑函数
  7. 简单讲解
# -*- coding: utf8 -*-
import json
def main_handler(event, context):
    # event 是调用函数时 key,value的键值对
    print("Received event: " + json.dumps(event, indent = 2)) 
    print("Received context: " + str(context))
    print("Hello world")
    return("Hello World")
  1. 测试
    找到测试模板


    小眼睛

    修改测试模板


    修改测试模板
    修改代码
# -*- coding: utf8 -*-
import json
def main_handler(event, context):
    print(event)
    print(event['f'])
    print(event['s'])
    return(event['f']+" "+event['s'])

测试结果


测试结果
  1. 程序调用
    直接参考网页 https://cloud.tencent.com/document/product/583/19694
    分别有3个sdk的调用node.js php python,当然你还可以把接口对公网暴露地址,通过http的方式进行调用
  2. 代码上传
    代码上传有3种方式
  • 部署函数:用户可以在本地环境创建部署程序包并上传至 SCF 平台,或直接在 SCF 控制台上编写代码由控制台为您创建并上传部署程序包。

    image.png
  • 使用 VS Code 插件创建函数:Tencent Serverless Toolkit for VS Code 是腾讯云 Serverless 产品的 VS Code(Visual Studio Code)IDE 的插件。该插件可以让您更好地在本地进行 Serverless 项目开发和代码调试,并且轻松将项目部署到云端。

    vscode上传
  • 使用 CLI 创建函数:通过云函数的命令行工具 SCF CLI,创建函数并部署到云端。

坑点

通过vscode代码上传时,一直提示角色不存在

not exist SCF_QcsRole

直接注释配置文件里面


注释配置

总结

腾讯云函数确实方便了程序的部署,相对于之前如果需要做一个mini版本的api服务,
至少需要:租用一台服务器,独立IP,配置nginx
而这类云函数使用场景也应该是 手机app,小程序,简单的数据接口交互等功能

相关文章

网友评论

      本文标题:2. PMP成绩查询小程序之腾讯云函数

      本文链接:https://www.haomeiwen.com/subject/rujgxhtx.html