從前面幾篇文章到現在,我們介紹了許多可以介接的 WebAPI 讓你的機器人可以查詢個人備忘資訊、氣象、空氣品質與講講笑話。雖然功能眾多,卻每次都需要輸入指令:好比早晨想要得到氣象與空氣品質資訊,卻每天一早輸入指令詢問,非常不方便。在這一篇,我們將透過 Azure 排程器,讓你的機器人固定時間提醒你重要資訊。
在第一篇,我們曾經計畫讓機器人自動推送訊息,但尚未決定使用何種排程/觸發器。無意間發現 Azure 也有排程器服務,設定上也不會過於困難,所以就決定使用 Azure 排程器。
前幾篇的程式說明您應該有發現透過 Bot template 新增的專案,本身是一個 ASP.NET MVC C# WebAPI,這表示我們可以新增並呼叫 WebAPI 來進行一些工作。理所當然,發送資訊給特定用戶需要一些資訊,這些資訊我們在下一篇撰寫程式的過程中會詳細說明。
Step 1. 我們登入Azure Portal,點選新增 → 輸入Scheduler 找到我們的
Step 2. 輸入名稱
Step 3. 設定工作集合 → 新增 → 輸入名稱與選擇定價層 (若已經建立過可以跳過這個步驟)
Step 4. 輸入相關資訊:
動作 | Http |
---|---|
方法 | Get |
URL | 機器人位址 + /api/GetWeatherInformation http://Your_Robot_App_URL/api/GetWeatherInformation |
標頭 | 空白 |
驗證 | 無 |
自訂 | 每天1次,錯誤嘗試4次 |
錯誤動作 | 無 |
註:若您忘記機器人 endpoint,可以在Web Application 內找到服務,會有URL資訊
Step 5. 接下來設定排程,我們設定週期性每天早上8點準時提供資訊
Step 6. 點選建立,完成我們的設定工作
Step 7. 若您需要測試,可以進入排程器工作集合 → 點選下方排程工作後 → 點選立即執行