在上一篇([10]用IDialog全部重構 - 階段性總結)我們把所有的程式用Dialog重構了之後,對於chatbot開發暫時到了一個段落。當然,目前功能還非常的雛形,但是以目前介紹的東西已經足夠寫出一個好的chatbot,因此各位可以自由發揮。
接下來我們要開始看看上綫的部分。當chatbot開發完了之後,該怎麽讓他上綫?需要搭配什麽服務。這篇將會看第一個部分,把chatbot先host在azure的app service上面。
上綫需要做一些什麽?
在講上綫之前,我們先來看看到目前爲止,在開篇提到的架構目前在什麽位置上面。
透過上圖,我們可以看出目前爲止我們專注的都在右邊開發的部分,那接下來上綫我們就需要注意左邊的Azure Bot Service的部分。
chatbot 要上綫,會需要幾個部分:
- 把chatbot本身部署上去 - 到目前爲止開發的chatbot,其實就是一個web api的服務。我們需要找到一個地方能夠host我們這個服務。
- 用azure bot service的channel registration注冊我們chatbot host在哪裏 - 從上面的圖可以之後,我們有個對應各個channel的服務,這個就是channel registration
- 在對應channel設定 - 舉例來説,如果我們想在FB放上我們的chatbot,或者slack放上chatbot,這些需要在channel的使用端做一些設定。
在這一篇我們將專注在第一點,也就是把chabot部署上去。既然我們稍後會使用到Azure的bot service,那麽部署在Azure就是一個很好的選擇,加上Visual Studio和Azure整合上非常方便,因此,我們將部署我們的chatbot 到azure的PaaS服務,App Service上面。
把chatbot發佈到app service上面
首先,在專案點下右鍵,然後選擇Publish
:
在彈出的畫面,左邊選擇App Service
,然後右邊選擇Create New
,然後選擇下面的publish
:
接下來我麽要建立會部署的App Service資訊:
- 右上角可以設定你azure訂閲對應的帳號,這邊切換到有你訂閲的即可
- AppName是app service的名稱,將會影響到預設的網址。因此如果已經有人用了,會沒辦法取一樣的名稱
- Subscription是選擇你要部署的訂閲,如果說你的帳號有多個訂閲就是這裡切換
- Resourc Group可以把你的azure資源用一個邏輯層包在一起,之後如果這些服務不需要了話,可以一次快速刪掉。如果建立新的,可以點旁邊的
New
,不然就是用下拉選取 - Hosting Plan則是hosting那臺的機器規格,會影響到價錢。一樣,如果要新建立就選擇
New
。這邊我選了一臺在East Asia
,也就是香港機房的機器,離我們近一些 - 最後選擇Create
按下Create
之後,我們就需要稍等一下,他會建立機器并且幫我們把程式推上去。成功之後,會自動開啓瀏覽器,瀏覽到我們網站的網址。
到這一步就是完成chatbot程式碼的部署。
到Azure portal看看建立的app service
如果有需要管理chatbot的服務機器,可以透過到azure的portal(http://portal.azure.com),然後從我們的Resource Group可以看到多了一個App Service:
點進去之後,有幾個部分按鈕可能會使用到(都在上面):
Browse
會開啓chatbot服務的網址,之後設定會需要這個網址Stop
如果服務不需要,可以透過這個按鈕關掉服務,關掉之後,要在啓用這個按鈕會變成Start
Get publish profiles
- 可以從azure portal建立好app service之後,再從這邊取得publish profile,然後讓專案透過這個profile發佈上azure的app service。不過VS已經整合的很好了, 因此不太需要自己這麽麻煩分開做
結語
在這篇介紹了Azure的App Service的服務,并且看了如何把chatbot的程式發佈到azure的app service。
也簡單的介紹了如何控制那臺app service的服務。
在下一篇([12]準備上綫 - 用Bot Channel Registration注冊chatbot),將來看看如何把這篇部署上去的chatbot的服務注冊到bot channel registration裡面。