在上一篇介紹了如何用visual studio把chatbot部署到了Azure的PaaS服務,App Service。
這一篇將來看另外一個部分,也就是如何把chatbot和不同的channel連接在一起的服務,Azure Bot Service裡面的Bot Channel Registration (以下簡稱Channel Registration)。
再來回顧一下整個Azure Bot Service的架構。從下圖可以看到,在Channel和Chatbot之間有個轉換格式的Connector Service。這個Connector Service從服務體現來説就是Channel Registration。
Channel Registration在整個架構的位置
簡單來説,Channel Registration有點像是把Channel和Chatbot鏈接在一起的膠水,有了這個我們可以設定我們那個chatbot要和那些channel連接。
要建立Channel Registration首先要開啓Azure的Portal(https://portal.azure.com)
透過左上角的Create Resource -> 搜索 bot channel registration
搜索channel registration
在清單裡面點選Bot Channel Registration然後按下Create。
接下來會輸入一些channel registration的訊息:
Bot Name - 隨便取,後面可以修改 - 最好不要和其他服務名稱一樣,避免建立Micorosft App Id/Password的時候出錯。
Subscription - 建立在那個訂閲
Resource Group - 這邊就選擇和Chatbot App Service一起,方便之後刪掉
Pricing tier - 目前有2個等級F0 是免費,F1則是付費。兩個最大差異是 F1有SLA保證,然後F0有送出的訊息數限制
Message Endpoint - 這個是設定我們chatbot發布到app service的網址 - 這個先留空,等一下再設定
Application Insight - 這個系列不會介紹做分析的部分,因此這裏選擇了Off
建立channel registration的畫面截圖
填寫完成之後,就按下Create即可。
當我們的Channel Registration建立出來了之後,有2個地方需要做設定:
對應的Chatbot Message Endpoint
chatbot設定和channel一樣的Microsoft AppId/Password
設定好了之後,可以設定那些channel要開啓使用。
還記得上一篇app service部署之後怎麽取得網址的方式,只需要在那個網址後面加上/api/messages就是我們chatbot的message endpoint。
開啓建立出來的channel registration,選擇Settings,然後可以在Message Endpoint輸入你的chatbot網址。
設定 Message Endpoint
設定好了,按下存檔即可。
在上一步設定了mesage endpoint,可以想象一下如果可以隨時輸入任意網址做注冊的話,那麽誰知道這個服務是不是合法可以使用。
因此,chatbot需要有些設定,能夠驗證這個服務是自己。
Channel Registration裡面有一個Microsoft AppId/Password,可以從 Settings裡面的Microsoft App Id,點下Manage進入:
開啓Microsoft App Id的manage畫面
點下去之後會開啓管理畫面,可以按下產生新密碼來產生一組密碼:
點下去產生新的密碼
這個會是BotId
應用程式識別碼就是要的MicrosoftAppId
產生的新密碼只會顯示1次,如果沒有記錄下來,下次再建立一次就好。這個就是MicrosoftAppPassword
設定畫面
接下來要去chatbot的App Service裡面設定剛剛取得的3個值:
輸入Setting篩選出Application Settings
點選Application Settings
在App Setting Name輸入 BotId
在App Setting Name輸入 MicrosoftAppId
在App Setting Name輸入 MicrosoftAppPassword
設定app service
如果上面的設定都沒有問題,那麽chatbot就已經設定好了。不過要確認目前設定有沒有問題可以透過Channel Registration裡面的Test in web chat
如果Test in web chat有出現錯誤,那麽就要檢查一下上面兩步的設定有沒有問題。
測試channel設定有沒有問題
在這一篇,介紹了如何在Azure上面建立出了一個Bot Channel Registration的服務,并且如何做必須要的設定。
設定好了之後,透過Test in web chat的方式測試是否設定上面有問題。
不過到目前爲止還是沒辦法讓一般使用者使用chatbot,原因是還沒有介紹如何設定channel 連接。
下一篇將來看看最容易設定的channel,web control。