婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手

基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手

熱門標(biāo)簽:承德地圖標(biāo)注公司收費(fèi) 高德地圖標(biāo)注常顯 外呼系統(tǒng)號顯示星號怎么看 suitecrm 地圖標(biāo)注 揭陽電腦外呼系統(tǒng)公司 鶴壁外呼系統(tǒng)公司 銀川語音外呼系統(tǒng)中心 臨沂ai電銷機(jī)器人招商 華創(chuàng)e路航彩票銷售點(diǎn)地圖標(biāo)注

最近的一些疫情信息很讓人揪心,為了方便大家掌握疫情信息,在空閑之余做了一個關(guān)于 nCoV 的疫情監(jiān)控小助手。主要的功能是通過企業(yè)微信的 WebHook 來推送疫情信息。這里將使用 Serverless 的整體代碼思路和架構(gòu)方式分享給大家。本文作者:tabor

實(shí)現(xiàn)效果

我們想要實(shí)現(xiàn)的大致的效果是這樣的:

首先,我們需要解決的是數(shù)據(jù)來源問題,這里我們可以使用 python 爬蟲來做這件事情,但是由于個人比較懶所以直接用的 2019-nCoV-Crawler  ,這個項(xiàng)目已經(jīng)集成了現(xiàn)有的 API,所以我們直接調(diào)用即可。當(dāng)然有能力的同學(xué)也可以自己部署 Python,我這邊是自己部署的,但是這不是本次的重點(diǎn),就不在贅述。

現(xiàn)在,我們有了數(shù)據(jù),但是數(shù)據(jù)怎么打到服務(wù)器呢?又該如何觸發(fā)?當(dāng)然使用 CVM 也是可以的,但是似乎太笨拙,并且消耗量很大,需要自己搭好所有環(huán)境。所以,這里我們選用 Serverless 方式來部署。

核心邏輯

我們來看看整體業(yè)務(wù)的代碼部分吧,畢竟這里是整個機(jī)器人的核心。我們來看代碼(請求三次接口):

?php
function main_handler($event, $context) {
// 廣東省情況
$curlsz = curl_init();
curl_setopt_array($curlsz, array(
 CURLOPT_URL => "https://lab.isaaclin.cn/nCoV/api/area?latest=0province=%E5%B9%BF%E4%B8%9C%E7%9C%81",
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_ENCODING => "",
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 3000,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => "GET",
 CURLOPT_HTTPHEADER => array(
 "Accept: */*",
 "Cache-Control: no-cache",
 "Connection: keep-alive",
 "Host: lab.isaaclin.cn",
 "Postman-Token: 680e5ea7-5c2e-4fb6-9295-7e336f2252c6,abd73e01-2a60-42b5-9bbe-92aa83805a7e",
 "User-Agent: PostmanRuntime/7.15.0",
 "accept-encoding: gzip, deflate",
 "cache-control: no-cache"
 ),
));
$responsesz = curl_exec($curlsz);
$echo_responsesz = json_decode($responsesz, true);
$err = curl_error($curlsz);
curl_close($curlsz);
// 湖北省情況
$curlhb = curl_init();
curl_setopt_array($curlhb, array(
 CURLOPT_URL => "https://lab.isaaclin.cn/nCoV/api/area?latest=0province=%E6%B9%96%E5%8C%97%E7%9C%81",
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_ENCODING => "",
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 3000,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => "GET",
 CURLOPT_HTTPHEADER => array(
 "Accept: */*",
 "Cache-Control: no-cache",
 "Connection: keep-alive",
 "Host: lab.isaaclin.cn",
 "Postman-Token: 680e5ea7-5c2e-4fb6-9295-7e336f2252c6,abd73e01-2a60-42b5-9bbe-92aa83805a7e",
 "User-Agent: PostmanRuntime/7.15.0",
 "accept-encoding: gzip, deflate",
 "cache-control: no-cache"
 ),
));
$responsehb = curl_exec($curlhb);
$echo_responsehb = json_decode($responsehb, true);
$err = curl_error($curlhb);
curl_close($curlhb);
// 全國總體情況
$curlall = curl_init();
curl_setopt_array($curlall, array(
 CURLOPT_URL => "https://lab.isaaclin.cn/nCoV/api/overall",
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_ENCODING => "",
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 3000,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => "GET",
 CURLOPT_HTTPHEADER => array(
 "Accept: */*",
 "Cache-Control: no-cache",
 "Connection: keep-alive",
 "Host: lab.isaaclin.cn",
 "Postman-Token: 680e5ea7-5c2e-4fb6-9295-7e336f2252c6,abd73e01-2a60-42b5-9bbe-92aa83805a7e",
 "User-Agent: PostmanRuntime/7.15.0",
 "accept-encoding: gzip, deflate",
 "cache-control: no-cache"
 ),
));
$responseall = curl_exec($curlall);
$echo_responseall = json_decode($responseall, true);
$err = curl_error($curlall);
curl_close($curlall);
//判斷是否為深圳地域(這里邏輯寫的比較簡單,但是夠用了)
if ($echo_responsesz['results'][0]['cities'][0]['cityName'] == '深圳') {
 $echo_responseszqz = $echo_responsesz['results'][0]['cities'][0]['confirmedCount'];
 $echo_responseszys = $echo_responsesz['results'][0]['cities'][0]['suspectedCount'];
 $echo_responseszzy = $echo_responsesz['results'][0]['cities'][0]['curedCount'];
 $echo_responseszsw = $echo_responsesz['results'][0]['cities'][0]['deadCount'];
} else {
 $echo_responseszqz = $echo_responsesz['results'][0]['cities'][1]['confirmedCount'];
 $echo_responseszys = $echo_responsesz['results'][0]['cities'][1]['suspectedCount'];
 $echo_responseszzy = $echo_responsesz['results'][0]['cities'][1]['curedCount'];
 $echo_responseszsw = $echo_responsesz['results'][0]['cities'][1]['deadCount'];
}
if ($err) {
 echo "cURL Error #:" . $err;
} else {
//疫情監(jiān)控告警機(jī)器人
$sc = $sc=" **2019-nCoV 疫情信息同步:** \n
> 全國疫情: 
> 確診人數(shù)font color=\"info\">".$echo_responseall['results'][0]['confirmedCount']."/font>,疑似感染人數(shù)font color=\"info\">".$echo_responseall['results'][0]['suspectedCount']."/font>,治愈人數(shù)font color=\"info\">".$echo_responseall['results'][0]['curedCount']."/font>,死亡人數(shù)font color=\"info\">".$echo_responseall['results'][0]['deadCount']."/font>\n
> 廣東省: 
> 確診人數(shù)font color=\"info\">".$echo_responsesz['results'][0]['confirmedCount']."/font>,疑似感染人數(shù)font color=\"info\">".$echo_responsesz['results'][0]['suspectedCount']."/font>,治愈人數(shù)font color=\"info\">".$echo_responsesz['results'][0]['curedCount']."/font>,死亡人數(shù)font color=\"info\">".$echo_responsesz['results'][0]['deadCount']."/font>\n
> 湖北省: 
> 確診人數(shù)font color=\"info\">".$echo_responsehb['results'][0]['confirmedCount']."/font>,疑似感染人數(shù)font color=\"info\">".$echo_responsehb['results'][0]['suspectedCount']."/font>,治愈人數(shù)font color=\"info\">".$echo_responsehb['results'][0]['curedCount']."/font>,死亡人數(shù)font color=\"info\">".$echo_responsehb['results'][0]['deadCount']."/font>\n
> 深圳市: 
> 確診人數(shù)font color=\"info\">".$echo_responseszqz."/font>,疑似感染人數(shù)font color=\"info\">".$echo_responseszys."/font>,治愈人數(shù)font color=\"info\">".$echo_responseszzy."/font>,死亡人數(shù)font color=\"info\">".$echo_responseszsw."/font>\n
> font color=\"info\">".$echo_responseall['results'][0]['note1']."/font>
> font color=\"info\">".$echo_responseall['results'][0]['note2']."/font>
> font color=\"info\">".$echo_responseall['results'][0]['note3']."/font>
> font color=\"info\">".$echo_responseall['results'][0]['remark1']."/font>
> font color=\"info\">".$echo_responseall['results'][0]['remark2']."/font>
> font color=\"info\"> 信息出處:".$echo_responseall['results'][0]['generalRemark']."/font> \n
>[更多數(shù)據(jù)請查看](https://news.qq.com/zt2020/page/feiyan.htm) \n
";
$post = array('msgtype' => 'markdown', 'markdown' => array('content' => $sc));
$curl = curl_init();
curl_setopt_array($curl, array(
 CURLOPT_URL => "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=", //這里的地址填寫為企業(yè)微信的HOOK路徑,https://work.weixin.qq.com/api/doc/90000/90136/91770
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_ENCODING => "",
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 10,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => "POST",
 CURLOPT_POSTFIELDS => json_encode($post,JSON_UNESCAPED_UNICODE),
 CURLOPT_HTTPHEADER => array(
 "Cache-Control: no-cache",
 "Postman-Token: ab32082b-ce64-4832-b51f-8f2f1b3e98ef"
 ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return "運(yùn)行成功"; 
}
}
?>

是不是很簡單呢?請求數(shù)據(jù),發(fā)送數(shù)據(jù)。

那么我們接下了重點(diǎn)看下如何將我們的業(yè)務(wù)代碼上傳到云端呢?
這里的云端我用的是騰訊云 Serverless 服務(wù) SCF云函數(shù) 。整個部署,使用過程都是免費(fèi)的,對于開發(fā)者來講小項(xiàng)目使用的話免費(fèi)額度是完全夠用的。無需擔(dān)心額外付費(fèi)。

Serverless 部署,選用的是比較流行的 Serverless Framework,使用和部署也是完全免費(fèi)的,那么下面我就來介紹下具體的部署過程吧。

安裝 Serverless 框架

首先,第一步,我們來安裝一個 Serverless Framework 的開發(fā)框架:

$ npm install -g serverless

然后,我們創(chuàng)建一個函數(shù)目錄:

$ mkdir nCov-function
$ cd nCov-function

相關(guān)函數(shù)目錄的內(nèi)容如下:

|- code
 |- index.php // 這里就是上面的業(yè)務(wù)代碼存放位置
|- serverless.yml //serverless 配置文件

配置 Yml 文件

接下來,是我們的重頭戲,配置函數(shù) yml 文件:

# serverless.yml
myFunction:
 component: "@serverless/tencent-scf" //引用tencent-scf component
 inputs:
 name: nCoVFunction //函數(shù)名稱
 enableRoleAuth: true
 codeUri: ./code //代碼本地存放位置
 handler: index.main_handler
 runtime: Php5
 region: ap-shanghai //函數(shù)運(yùn)行地域
 description: My Serverless nCoV Function.
 memorySize: 128 //運(yùn)行內(nèi)存
 timeout: 20 //超時時間
 exclude:
 - .gitignore
 - .git/**
 - node_modules/**
 - .serverless
 - .env
 include:
 - ./nCoVFunction.zip
 environment:
 variables:
 TEST: vale
 vpcConfig:
 subnetId: ''
 vpcId: ''
 events:
 - timer: // 定時觸發(fā)器
  name: timer
  parameters:
  cronExpression: '0 0 10,21 * * * *' //明天早上10點(diǎn),晚上21點(diǎn)
  enable: true

萬事具備,我們就可以直接部署 SLS 了。

部署到云端

通過 sls 命令(serverless 的縮寫)進(jìn)行部署,并可以添加 –debug 參數(shù)查看部署過程中的信息:

taborchen$ sls --debug

 DEBUG ─ Resolving the template's static variables.
 DEBUG ─ Collecting components from the template.
 DEBUG ─ Downloading any NPM components found in the template.
 DEBUG ─ Analyzing the template's components dependencies.
 DEBUG ─ Creating the template's components graph.
 DEBUG ─ Syncing template state.
 DEBUG ─ Executing the template's components graph.
 DEBUG ─ Compressing function nCoVFunction file to /Users/taborchen/Desktop/工作/yiqing/.ser
verless/nCoVFunction.zip.
 DEBUG ─ Compressed function nCoVFunction file successful
 DEBUG ─ Uploading service package to cos[sls-cloudfunction-ap-shanghai-code]. sls-cloudfunc
tion-default-nCoVFunction-1580960644.zip
 DEBUG ─ Uploaded package successful /Users/taborchen/Desktop/工作/yiqing/.serverless/nCoVFu
nction.zip
 DEBUG ─ Creating function nCoVFunction
 DEBUG ─ Created function nCoVFunction successful
 DEBUG ─ Setting tags for function nCoVFunction
 DEBUG ─ Creating trigger for function nCoVFunction
 DEBUG ─ Created timer trigger timer for function nCoVFunction success.
 DEBUG ─ Deployed function nCoVFunction successful

運(yùn)行結(jié)果如下:

這樣,我們就完成了一個 nCoV 的在線觸發(fā)函數(shù)機(jī)器人~是不是很簡單呢?快來開始動手吧~

傳送門:

GitHub: github.com/serverless

官網(wǎng):serverless.com

好了,就給大家介紹到這來,希望大家喜歡!

您可能感興趣的文章:
  • Serverless 架構(gòu)如何演進(jìn)詳細(xì)介紹
  • 什么是OpenStack 開源的云計(jì)算管理平臺項(xiàng)目
  • OpenStack云計(jì)算快速入門教程(1)之OpenStack及其構(gòu)成簡介
  • 虛擬化和云計(jì)算的區(qū)別分析
  • CentOS 6.4下安裝部署OpenStack云計(jì)算平臺的方法
  • 解讀Serverless架構(gòu)的前世今生

標(biāo)簽:忻州 咸寧 萊蕪 七臺河 三沙 許昌 棗莊 汕尾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手》,本文關(guān)鍵詞  基于,Serverless,企業(yè),微信,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美aaa在线| 欧美日韩中文字幕精品| 成人午夜免费电影| 久久综合九色综合97婷婷女人| 日韩欧美亚洲一区二区| 久久视频一区二区| 久久一二三国产| 亚洲国产精品激情在线观看| 亚洲欧美综合另类在线卡通| 中文字幕亚洲在| 日日夜夜精品视频天天综合网| 蜜桃在线一区二区三区| 国产精品996| 91久久免费观看| 裸体一区二区三区| 91福利国产精品| 亚洲视频你懂的| 99精品国产热久久91蜜凸| 亚洲精品在线观看视频| 精品久久国产97色综合| 亚洲精品视频一区| 国产精品国产三级国产普通话99| 99re热视频精品| 7777精品伊人久久久大香线蕉的| 亚洲免费视频成人| 午夜精品aaa| 日韩精品一区二区在线| 亚洲午夜在线电影| 天堂久久久久va久久久久| 成a人片国产精品| 一本到不卡免费一区二区| 亚洲3atv精品一区二区三区| 成人免费三级在线| 精品粉嫩aⅴ一区二区三区四区| 中文字幕日韩av资源站| 欧美区视频在线观看| 久久综合久久99| 亚洲一级电影视频| 亚洲激情网站免费观看| 国产激情偷乱视频一区二区三区| 精品国产成人系列| 亚洲精品日日夜夜| 成人毛片老司机大片| 欧美午夜片在线看| 亚洲午夜视频在线观看| 在线影院国内精品| 最好看的中文字幕久久| 成人黄色小视频在线观看| 91.麻豆视频| 久久久久久久国产精品影院| 亚洲午夜在线视频| 欧美午夜精品理论片a级按摩| 久久综合色8888| 国内精品伊人久久久久av影院 | 琪琪一区二区三区| 一本色道久久综合精品竹菊| 亚洲大片精品永久免费| 亚洲美女屁股眼交| 欧美电影一区二区| 国产精品资源站在线| 欧美绝品在线观看成人午夜影视| 国产精品嫩草影院av蜜臀| 91麻豆精东视频| 狠狠色狠狠色综合| 中文一区一区三区高中清不卡| 免费在线观看成人| 亚洲色图欧美在线| 777久久久精品| 午夜精品福利久久久| 亚洲激情在线激情| 亚洲激情图片qvod| 亚洲视频资源在线| 亚洲国产综合色| 欧美私模裸体表演在线观看| 精品剧情在线观看| 成人app网站| 亚洲国产成人porn| 国产婷婷一区二区| 日韩午夜中文字幕| 欧美视频你懂的| 99精品国产热久久91蜜凸| 日本不卡的三区四区五区| 自拍偷拍亚洲激情| 中文在线资源观看网站视频免费不卡| 欧美亚洲免费在线一区| 色综合色狠狠天天综合色| 久久er99精品| 激情成人午夜视频| 美女网站色91| 久久国产精品99久久久久久老狼 | 亚洲成a人v欧美综合天堂| 中文字幕在线不卡一区| 久久久久久夜精品精品免费| 欧美一区二区三区影视| 欧美精品一区二区三区在线| 国产视频一区二区在线观看| 欧美激情一区二区三区不卡| 中文字幕亚洲在| 亚洲国产日韩一级| 日韩中文字幕区一区有砖一区| 亚洲高清视频在线| 国产乱码精品一品二品| 91久久精品网| 久久久久成人黄色影片| 亚洲美女区一区| 日本 国产 欧美色综合| 国产精品主播直播| 欧美三级一区二区| 久久免费偷拍视频| 日韩精品亚洲专区| 成人精品视频.| 精品久久人人做人人爱| 亚洲国产欧美另类丝袜| 91天堂素人约啪| 久久亚洲精品小早川怜子| 亚洲图片自拍偷拍| 99国产一区二区三精品乱码| 精品不卡在线视频| 免费观看成人鲁鲁鲁鲁鲁视频| 色一区在线观看| 亚洲视频小说图片| 成人在线视频首页| 国产精品久久毛片| 欧美精品一区二区三区在线| 婷婷夜色潮精品综合在线| 日韩国产高清影视| 91亚洲永久精品| 亚洲一区二区不卡免费| 欧美mv日韩mv国产网站app| 五月婷婷欧美视频| 精品国产乱码久久久久久夜甘婷婷| 国产精品综合二区| 亚洲素人一区二区| 欧美丰满少妇xxxbbb| 国内精品免费在线观看| 亚洲久本草在线中文字幕| 884aa四虎影成人精品一区| 国产成人综合在线观看| 亚洲精品中文在线影院| 日韩情涩欧美日韩视频| 国产成人在线视频播放| 中文字幕日韩精品一区| 欧美日韩国产综合久久| 国产盗摄视频一区二区三区| 一区二区三区欧美| 久久久亚洲精华液精华液精华液| 91在线一区二区三区| 青青青伊人色综合久久| 国产精品乱码久久久久久| 色嗨嗨av一区二区三区| 国产福利一区二区三区视频在线| 亚洲一区二区三区视频在线播放| 久久久久久久久岛国免费| 欧美电影在线免费观看| 成人午夜视频在线观看| 毛片不卡一区二区| 午夜久久久久久久久| 日韩理论片中文av| 国产精品日韩成人| 久久久久久久久久美女| 日韩欧美国产一区在线观看| 欧美伊人久久久久久午夜久久久久| 成人h精品动漫一区二区三区| 久久精品国产亚洲一区二区三区| 亚洲成人av免费| 一区二区三区四区视频精品免费 | 一本在线高清不卡dvd| 麻豆91在线播放| 日本在线不卡视频| 午夜精品一区在线观看| 亚洲综合另类小说| 一区二区三区波多野结衣在线观看| 中文文精品字幕一区二区| 2欧美一区二区三区在线观看视频| 欧美一二三区在线观看| 91精品国产色综合久久不卡电影| 欧美区一区二区三区| 欧美一区在线视频| 精品久久99ma| 欧美极品美女视频| 亚洲欧美综合在线精品| 日韩美女精品在线| 一区二区三区在线免费视频| 亚洲精品免费在线播放| 国产精品久久久久精k8| 国产精品乱码妇女bbbb| 国产精品另类一区| 亚洲精品乱码久久久久久日本蜜臀| 日韩一区有码在线| 一区二区三区四区激情| 日韩国产高清影视| 国产精品一区三区| 成人av午夜影院| 91行情网站电视在线观看高清版| 国产91在线|亚洲| 亚洲欧洲av在线| 亚欧色一区w666天堂| 精久久久久久久久久久| 国产成人午夜高潮毛片| 日本高清视频一区二区|