在上一篇([11]準備上綫 - chatbot發佈到Azure App Service)介紹了如何用visual studio把chatbot部署到了Azure的PaaS服務,App Service。
這一篇將來看另外一個部分,也就是如何把chatbot和不同的channel連接在一起的服務,Azure Bot Service裡面的Bot Channel Registration (以下簡稱Channel Registration)。
Azure Bot Service的Channel Registration
再來回顧一下整個Azure Bot Service的架構。從下圖可以看到,在Channel和Chatbot之間有個轉換格式的Connector Service。這個Connector Service從服務體現來説就是Channel Registration。
簡單來説,Channel Registration有點像是把Channel和Chatbot鏈接在一起的膠水,有了這個我們可以設定我們那個chatbot要和那些channel連接。
建立Channel Registration
要建立Channel Registration首先要開啓Azure的Portal(https://portal.azure.com)
透過左上角的Create Resource
-> 搜索 bot 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
填寫完成之後,就按下Create
即可。
設定Channel Registration
當我們的Channel Registration建立出來了之後,有2個地方需要做設定:
- 對應的Chatbot Message Endpoint
- chatbot設定和channel一樣的Microsoft AppId/Password
設定好了之後,可以設定那些channel要開啓使用。
設定對應的Chatbot Message Endpoint
還記得上一篇app service部署之後怎麽取得網址的方式,只需要在那個網址後面加上/api/messages
就是我們chatbot的message endpoint。
開啓建立出來的channel registration,選擇Settings
,然後可以在Message Endpoint
輸入你的chatbot網址。
設定好了,按下存檔即可。
chatbot設定和channel一樣的Microsoft AppId 和 Password
在上一步設定了mesage endpoint,可以想象一下如果可以隨時輸入任意網址做注冊的話,那麽誰知道這個服務是不是合法可以使用。
因此,chatbot需要有些設定,能夠驗證這個服務是自己。
Channel Registration裡面有一個Microsoft AppId/Password,可以從 Settings
裡面的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
測試目前的設定
如果上面的設定都沒有問題,那麽chatbot就已經設定好了。不過要確認目前設定有沒有問題可以透過Channel Registration裡面的Test in web chat
如果Test in web chat
有出現錯誤,那麽就要檢查一下上面兩步的設定有沒有問題。
結語
在這一篇,介紹了如何在Azure上面建立出了一個Bot Channel Registration
的服務,并且如何做必須要的設定。
設定好了之後,透過Test in web chat
的方式測試是否設定上面有問題。
不過到目前爲止還是沒辦法讓一般使用者使用chatbot,原因是還沒有介紹如何設定channel 連接。
下一篇([13]上綫 - 開啓web control channel)將來看看最容易設定的channel,web control。