2. PMP成績(jī)查詢小程序之騰訊云函數(shù)

背景

在上一篇1. PMP成績(jī)查詢小程序之PMI網(wǎng)站分析
缆镣,我的小程序后臺(tái)已經(jīng)正式上線芽突,能夠正常的查詢返回PMI網(wǎng)站的結(jié)果,但是從返回速度上來講不是很理想:

  1. PMI網(wǎng)站架設(shè)在美國(guó)
    由于我后臺(tái)云服務(wù)架設(shè)在上海董瞻,所以在通過PMI網(wǎng)站進(jìn)行數(shù)據(jù)交互時(shí)寞蚌,所花費(fèi)的時(shí)候需要5-20s不等,也就是說網(wǎng)絡(luò)最差的時(shí)候钠糊,小程序等待時(shí)間長(zhǎng)達(dá)20s挟秤,給用戶的體驗(yàn)不好。


    登錄頁面ip

    ip位置
  2. 密碼輸錯(cuò)5次以上抄伍,當(dāng)前訪問IP被鎖15分鐘
    由于我的云服務(wù)是獨(dú)立IP艘刚,密碼錯(cuò)誤次數(shù)達(dá)到5后后,當(dāng)前IP就會(huì)被鎖15分鐘截珍。導(dǎo)致所有用戶都無法正常查詢昔脯。所以要考慮一下如何更換對(duì)外的公網(wǎng)IP啄糙。
    我在2020-02-09這天測(cè)試的時(shí)候,好像這個(gè)限制被取消了云稚?

以上就是我需要優(yōu)化的2個(gè)問題

解決思路

最近在看微信小程序的云函數(shù)隧饼,這個(gè)相信大家都不陌生,然后根據(jù)小程序的云函數(shù)我又翻閱了一下騰訊云的云函數(shù)静陈。這倆個(gè)有什么區(qū)別呢燕雁?我做一個(gè)簡(jiǎn)單的對(duì)比
代表 微信小程序云函數(shù) 騰訊云函數(shù)

  1. 支持后臺(tái)編程語言
    :node.js
    :node.js go java python php

  2. 免費(fèi)使用項(xiàng)目
    :數(shù)據(jù)庫(kù)訪問鲸拥,外網(wǎng)訪問拐格,文件上傳下載,函數(shù)調(diào)用
    :函數(shù)調(diào)用(其他的都要花錢買)

這是一個(gè)簡(jiǎn)單對(duì)比刑赶,你會(huì)發(fā)現(xiàn)更加懵逼捏浊。微信小程序云函數(shù)算是騰訊云函數(shù)的一個(gè)子集,微信小程序云函數(shù)免費(fèi)額度高撞叨,這也是為了小程序的生態(tài)而做金踪。
由于對(duì)返回的網(wǎng)頁數(shù)據(jù)進(jìn)行有效的提取,所以我最關(guān)注的還是后臺(tái)語言牵敷,再加之之前就用的python胡岔,可以完整遷移到騰訊云函數(shù)上面去。

過程

決定要遷移后枷餐,就開始進(jìn)入騰訊云官網(wǎng)申請(qǐng)?jiān)坪瘮?shù)

申請(qǐng)?jiān)坪瘮?shù)

  1. 登錄騰訊云
    點(diǎn)我可以直接進(jìn)入云函數(shù)
    云函數(shù)
  2. 申請(qǐng)?jiān)坪瘮?shù)
    選擇函數(shù)服務(wù)靶瘸,點(diǎn)擊新建


    新建
  3. 選擇函數(shù)區(qū)域
    選擇區(qū)域時(shí),由于網(wǎng)站在老美那邊毛肋,所以我直接選的是 硅谷怨咪,這樣訪問速度就快得多。
    區(qū)域
  4. 選擇模板
    函數(shù)名字自定義润匙,環(huán)境我選擇的是python3.6诗眨,模板就選第一咯helloworld


    環(huán)境模板
  5. 角色選擇
    沒有運(yùn)行角色就新建一個(gè),基本都選擇默認(rèn)這類的就行了


    權(quán)限角色
  6. 編輯函數(shù)


    編輯函數(shù)
  7. 簡(jiǎn)單講解
# -*- coding: utf8 -*-
import json
def main_handler(event, context):
    # event 是調(diào)用函數(shù)時(shí) key趁桃,value的鍵值對(duì)
    print("Received event: " + json.dumps(event, indent = 2)) 
    print("Received context: " + str(context))
    print("Hello world")
    return("Hello World")
  1. 測(cè)試
    找到測(cè)試模板


    小眼睛

    修改測(cè)試模板


    修改測(cè)試模板

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

測(cè)試結(jié)果


測(cè)試結(jié)果
  1. 程序調(diào)用
    直接參考網(wǎng)頁 https://cloud.tencent.com/document/product/583/19694
    分別有3個(gè)sdk的調(diào)用node.js php python辽话,當(dāng)然你還可以把接口對(duì)公網(wǎng)暴露地址肄鸽,通過http的方式進(jìn)行調(diào)用
  2. 代碼上傳
    代碼上傳有3種方式
  • 部署函數(shù):用戶可以在本地環(huán)境創(chuàng)建部署程序包并上傳至 SCF 平臺(tái),或直接在 SCF 控制臺(tái)上編寫代碼由控制臺(tái)為您創(chuàng)建并上傳部署程序包。

    image.png

  • 使用 VS Code 插件創(chuàng)建函數(shù):Tencent Serverless Toolkit for VS Code 是騰訊云 Serverless 產(chǎn)品的 VS Code(Visual Studio Code)IDE 的插件汹想。該插件可以讓您更好地在本地進(jìn)行 Serverless 項(xiàng)目開發(fā)和代碼調(diào)試预皇,并且輕松將項(xiàng)目部署到云端。

    vscode上傳

  • 使用 CLI 創(chuàng)建函數(shù):通過云函數(shù)的命令行工具 SCF CLI逮诲,創(chuàng)建函數(shù)并部署到云端帜平。

坑點(diǎn)

通過vscode代碼上傳時(shí)幽告,一直提示角色不存在

not exist SCF_QcsRole

直接注釋配置文件里面


注釋配置

總結(jié)

騰訊云函數(shù)確實(shí)方便了程序的部署,相對(duì)于之前如果需要做一個(gè)mini版本的api服務(wù)裆甩,
至少需要:租用一臺(tái)服務(wù)器冗锁,獨(dú)立IP,配置nginx
而這類云函數(shù)使用場(chǎng)景也應(yīng)該是 手機(jī)app嗤栓,小程序冻河,簡(jiǎn)單的數(shù)據(jù)接口交互等功能

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茉帅,隨后出現(xiàn)的幾起案子叨叙,更是在濱河造成了極大的恐慌,老刑警劉巖堪澎,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件擂错,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡樱蛤,警方通過查閱死者的電腦和手機(jī)钮呀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刹悴,“玉大人行楞,你說我怎么就攤上這事⊥猎龋” “怎么了子房?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)就轧。 經(jīng)常有香客問我证杭,道長(zhǎng),這世上最難降的妖魔是什么妒御? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任解愤,我火速辦了婚禮,結(jié)果婚禮上乎莉,老公的妹妹穿的比我還像新娘送讲。我一直安慰自己,他們只是感情好惋啃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布哼鬓。 她就那樣靜靜地躺著,像睡著了一般边灭。 火紅的嫁衣襯著肌膚如雪异希。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天绒瘦,我揣著相機(jī)與錄音称簿,去河邊找鬼扣癣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛憨降,可吹牛的內(nèi)容都是我干的父虑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼授药,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼频轿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起烁焙,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤航邢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后骄蝇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膳殷,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年九火,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赚窃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡岔激,死狀恐怖勒极,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情虑鼎,我是刑警寧澤辱匿,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站炫彩,受9級(jí)特大地震影響匾七,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜江兢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一昨忆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杉允,春花似錦邑贴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至世澜,卻和暖如春独旷,著一層夾襖步出監(jiān)牢的瞬間署穗,已是汗流浹背寥裂。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工嵌洼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人封恰。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓麻养,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诺舔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鳖昌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348