欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 基于 Serverless +企業微信打造 nCoV 疫情監控小助手

基于 Serverless +企業微信打造 nCoV 疫情監控小助手

熱門標簽:承德地圖標注公司收費 高德地圖標注常顯 外呼系統號顯示星號怎么看 suitecrm 地圖標注 揭陽電腦外呼系統公司 鶴壁外呼系統公司 銀川語音外呼系統中心 臨沂ai電銷機器人招商 華創e路航彩票銷售點地圖標注

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

實現效果

我們想要實現的大致的效果是這樣的:

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

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

核心邏輯

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

?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 {
//疫情監控告警機器人
$sc = $sc=" **2019-nCoV 疫情信息同步:** \n
> 全國疫情: 
> 確診人數font color=\"info\">".$echo_responseall['results'][0]['confirmedCount']."/font>,疑似感染人數font color=\"info\">".$echo_responseall['results'][0]['suspectedCount']."/font>,治愈人數font color=\"info\">".$echo_responseall['results'][0]['curedCount']."/font>,死亡人數font color=\"info\">".$echo_responseall['results'][0]['deadCount']."/font>\n
> 廣東省: 
> 確診人數font color=\"info\">".$echo_responsesz['results'][0]['confirmedCount']."/font>,疑似感染人數font color=\"info\">".$echo_responsesz['results'][0]['suspectedCount']."/font>,治愈人數font color=\"info\">".$echo_responsesz['results'][0]['curedCount']."/font>,死亡人數font color=\"info\">".$echo_responsesz['results'][0]['deadCount']."/font>\n
> 湖北省: 
> 確診人數font color=\"info\">".$echo_responsehb['results'][0]['confirmedCount']."/font>,疑似感染人數font color=\"info\">".$echo_responsehb['results'][0]['suspectedCount']."/font>,治愈人數font color=\"info\">".$echo_responsehb['results'][0]['curedCount']."/font>,死亡人數font color=\"info\">".$echo_responsehb['results'][0]['deadCount']."/font>\n
> 深圳市: 
> 確診人數font color=\"info\">".$echo_responseszqz."/font>,疑似感染人數font color=\"info\">".$echo_responseszys."/font>,治愈人數font color=\"info\">".$echo_responseszzy."/font>,死亡人數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
>[更多數據請查看](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=", //這里的地址填寫為企業微信的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 "運行成功"; 
}
}
?>

是不是很簡單呢?請求數據,發送數據。

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

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

安裝 Serverless 框架

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

$ npm install -g serverless

然后,我們創建一個函數目錄:

$ mkdir nCov-function
$ cd nCov-function

相關函數目錄的內容如下:

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

配置 Yml 文件

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

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

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

部署到云端

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

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

運行結果如下:

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

傳送門:

GitHub: github.com/serverless

官網:serverless.com

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

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

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

巨人網絡通訊聲明:本文標題《基于 Serverless +企業微信打造 nCoV 疫情監控小助手》,本文關鍵詞  基于,Serverless,企業,微信,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于 Serverless +企業微信打造 nCoV 疫情監控小助手》相關的同類信息!
  • 本頁收集關于基于 Serverless +企業微信打造 nCoV 疫情監控小助手的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美一区二区三区小说| 韩国女主播成人在线| 妖精视频在线观看| 国产探花在线播放| 国产精品不卡在线观看| 国产·精品毛片| 精品无码久久久久成人漫画 | 99热这里只有精品2| 成年人av电影| 亚洲视频电影在线| 成人黄色av电影| wwwav国产| 亚洲欧美欧美一区二区三区| 99久久国产综合精品色伊| 91黄色激情网站| 亚洲黄色小视频| 99久久久无码国产精品性波多 | 亚洲欧美偷拍另类a∨色屁股| 成人免费av在线| 538精品在线观看| 亚洲欧美乱综合| 涩视频在线观看| 91精品国产综合久久久久久| 视频一区视频二区中文| av小说在线观看| 久久精品人人做| 国产亚洲一二三区| 韩国精品免费视频| 九九这里只有精品视频| 亚洲三级视频在线观看| 永久免费未满蜜桃| 精品免费一区二区三区| 国产精品99久久久久久似苏梦涵 | 日韩国产在线观看一区| 右手影院亚洲欧美| 久久九九国产精品| 成人福利在线看| 欧美少妇bbb| 日本在线不卡视频| 亚洲欧美va天堂人熟伦| 国产精品久久久久精k8| 农村末发育av片一区二区 | 日韩欧美一级二级三级久久久| 美女视频黄免费的久久| 99自拍视频在线| 亚洲高清中文字幕| 久久精品—区二区三区舞蹈| 亚洲欧洲av另类| 亚洲av成人无码一二三在线观看| 久久天天做天天爱综合色| 成人一区二区三区在线观看| 欧美日本国产视频| 国产一区二区三区免费观看| 日本高清不卡在线观看| 日日夜夜精品免费视频| 成人欧美一区二区三区黑人一| 玉米视频成人免费看| 黄色aaa视频| 亚洲欧美日韩久久精品| 成人免费av片| 一区视频在线播放| 醉酒壮男gay强迫野外xx| 亚洲欧洲国产日本综合| 日本免费福利视频| 国产精品成人免费精品自在线观看| zjzjzjzjzj亚洲女人| 国产亚洲精品aa| 国产乱淫av麻豆国产免费| 久久久久久**毛片大全| 精人妻一区二区三区| 国产日韩一级二级三级| 制服丝袜在线第一页| 国产女主播在线一区二区| 在线免费看黄色片| 国产精品萝li| 亚洲综合网在线观看| 一区二区日韩av| 中文字幕资源站| 婷婷夜色潮精品综合在线| 久久99精品久久只有精品| 色综合久久久久久久久| 精品在线观看免费| 欧美日韩和欧美的一区二区| 福利电影一区二区三区| 欧美xxxxxxxx| 绯色av蜜臀vs少妇| 国产精品久久久久婷婷| 伊人网在线视频观看| 亚洲午夜成aⅴ人片| 91视频最新网址| 免费成人你懂的| 在线观看日韩电影| 成人一区二区三区| 久久精品欧美日韩| 午夜理伦三级做爰电影| 香蕉乱码成人久久天堂爱免费| 91成人免费在线| 国产精品羞羞答答xxdd| 欧美sm极限捆绑bd| 国产精品久久久久久在线观看| 亚洲免费av在线| 国产午夜手机精彩视频| 国产毛片一区二区| www激情久久| 国产精品成人一区二区三区电影毛片| 夜夜嗨av一区二区三区中文字幕| 欧美特级一级片| 国产精品18久久久久久久久久久久| 日韩精品一区二区三区swag| 日本一区二区免费视频| 亚洲一区在线视频| 欧洲生活片亚洲生活在线观看| 成人性生交大片| 国产欧美综合色| 毛片aaaaaa| 激情小说亚洲一区| 亚洲精品在线观看网站| 偷拍夫妻性生活| 久久成人羞羞网站| 精品国产乱码久久| 欧美大波大乳巨大乳| 久久精品久久精品| 精品成人在线观看| 五月天综合视频| 黄页视频在线91| 久久影院视频免费| 日韩精品电影一区二区三区| 激情久久五月天| 久久久久久久网| 粉嫩精品久久99综合一区| 九九久久精品视频| 久久免费偷拍视频| 粉嫩精品久久99综合一区| 国产高清不卡一区| 国产精品日韩精品欧美在线| 国模无码国产精品视频| 91女厕偷拍女厕偷拍高清| 亚洲在线视频网站| 欧美一区二区三区在线观看| 最近中文字幕无免费| 正在播放亚洲一区| av网站免费在线播放| 精彩视频一区二区| 国产精品入口麻豆原神| 色综合久久久久综合99| www.激情成人| 一二三四社区欧美黄| 欧美猛男男办公室激情| 中文字幕av观看| 精品亚洲欧美一区| 国产欧美综合在线观看第十页| 翔田千里88av中文字幕| 久久久久亚洲av片无码v| 日韩经典一区二区| 亚洲精品在线电影| 日韩a级片在线观看| 极品人妻一区二区| 日韩电影在线一区二区| 久久精品视频免费观看| 色综合中文综合网| 久久久久国产精品人| 乱h高h女3p含苞待放| 92精品国产成人观看免费 | 色哟哟精品一区| 国产午夜在线一区二区三区| 九九精品一区二区| 亚洲日本一区二区| 欧美一级片在线看| 国产成人在线网址| 在线观看你懂的视频| 免费一级欧美片在线观看| 中文无字幕一区二区三区 | 精品成人在线观看| 色综合久久中文字幕| 亚洲日本久久久| 国产美女在线精品| 亚洲一区国产视频| 国产亚洲制服色| 欧美日韩精品一区二区三区四区 | 国产不卡在线视频| 亚洲一区二区av电影| 久久夜色精品一区| 欧美综合一区二区三区| 实拍女处破www免费看| 不卡视频在线看| 日韩有码一区二区三区| 国产精品私人自拍| 日韩一区二区三区av| 国产精品夜夜嗨| 偷拍一区二区三区四区| 国产欧美精品一区二区三区四区| 欧美群妇大交群中文字幕| 欧美色视频一区二区三区在线观看| 免费在线观看日韩av| 国产精品一区二区不卡| 午夜精品久久久久影视| 国产精品伦理一区二区| 欧美成人一区二区三区片免费| 色拍拍在线精品视频8848| 日韩在线免费观看av|