SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Bot Framework V4 開発 Tips 2018-11
V4 開発で最初に知っておきたいポイント
2018-11
Cogbot #18
ABOUT ME
横浜 篤
よこはま あつし
C#, ASP.NET Core, Azure, Cognitive Services, Bot Framework….
開発者募集しています♪
C#er
Cogbot
コミュニティ
@BEACH_SIDE
http://beachside.hatenablog.com/
BEACHSIDE BLOG
株式会社アイティーブレーン
Edge Technology and Projects 部
部長
本日のゴール
Bot Framework V4 で開発をする上で把握しておきたいと
(私個人的に)感じたことを共有
2018年11月末時点ノ情報デスWARNING
• Bot Framework V4 をこれから触りたい人向け
• Bot Framework V3 で開発はしてたけど、まだV4触ってない人に向け
• 主に C# 版のお話
アジェンダ
1. Bot File の存在
2. Middleware の有効活用
3. Accessor
4. Dialog と Waterfall
5. Adaptive Cards
6. その他
1. Bot File の存在
正しく使い方は…
Bot File とは (1)
リソースの管理用ファイル
• 使用する言語やプラットフォームに関係なくリソース管理するために存在
• 格納されている情報の例として、Application Insights のキー情報や Blob
Storage の接続文字列など
• 環境ごと(ローカルホスト、Azure Bot Serviceの本番環境など)のエンドポイントの記載があり、Bot
Emulator で容易にアクセス可能
公式ドキュメント: https://docs.microsoft.com/ja-jp/azure/bot-service/bot-file-basics?view=azure-bot-service-4.0
Bot File とは (2)
暗号化 / 複合化
• Azure Bot Service で作成されたソースコードのBot File は、キーや接続文字
列は、暗号化されて格納されている。暗号化キー(BotFileSecret)は、Azure Bot
Service(Web Apps)のアプリケーション設定の中にある
• 暗号化された情報を見るには、Bot Emulator でみる、または、”MSBot
Command Line tool” で複合化を行う
• ”MSBot Command Line tool” で複合化して編集した後、再び暗号化する
には新規に暗号化キーを生成する必要がある
公式ドキュメント: https://github.com/Microsoft/botbuilder-tools/tree/master/packages/MSBot
セキュアな情報はどこに保存すべきか
キー情報の保存先は複数存在
• Bot File
• appsettings.json または、appsettigs.{ environmentName }.json
• UserSecrets (ローカル開発用)
• Azure Bot Service(Web Apps)のアプリケーション設定
• Azure の Key Vault
プログラム実行時の躓きポイント(1)
Bot File のファイル名にまつわるカオス
初期値が色々な箇所で設定されている
設定されている箇所 ファイル名
Azure Bot Service で作成されたソースコードの Bot File のファイル名 {プロジェクト名}.bot
Azure Bot Service で作成されたソースコードの appsettings 内の値 コメントの文字列
VS 2017 でプロジェクトテンプレートからソースコードを作成した場合のファイル名 BotConfiguration.bot
VS 2017 でプロジェクトテンプレートからソースコードを作成した場合のappsettings 内の値 BotConfiguration.bot
ソースコード内(Startup.cs)で、環境変数/設定ファイルから値が取得できなかった時のデフォ
ルト値
BotConfiguration.bot
Azure Bot Service(Web Apps)の「アプリケーション設定」でのデフォルト値 {プロジェクト名}.bot
プログラム実行時の躓きポイント(2)
Bot File の複合キーを取得してローカルに保存が必要
• Azure Bot Serviceで生成されたソースコードの
場合、 Azure Bot Service (Web Apps) のア
プリケーション設定で、「BotFileSecret」の値を
取得しappsetting.json 等へ設定が必要
• 「BotFileSecret」の値を appsettings に書くの
はナンセンス…ローカルならUserSecrets に保存
がベター。
Bot File を見てみる
MSBot CLI で複合化 / 暗号化
Emulator で確認
DEMO
Bot File に情報を保存する際に気にしておきたいこと
変更があると BotFileSecret の値が新しくなる
• UserSecrets に保存してる場合、開発者全員更新が必要
• 環境が複数ある場合(Dev/Staging/Production など)、すべての環境で
更新が必要
• 実運用中なら、更新するためのオペレーションが面倒なことになりかねない
2. Middleware の有効活用
やつらはライブラリ内に既にいる
Middleware を介した処理フロー
会話ログの保存
TranscriptLoggerMiddleware
• Startup.cs に組み込むだけで、会話のログを保存してくれる
• ログの内容は、Bot Emulator で見れる Json の内容と同様
• 詳細はこちら:
https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/TranscriptLoggerMiddleware.cs
State の保存
AutoSaveStateMiddleware
• Startup.cs に組み込むだけで、State を保存してくれる
• 詳細はこちら:
https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/AutoSaveStateMiddleware.cs
Typing の表示
ShowTypingMiddleware
• Startup.cs に組み込むだけで、デフォルトで0.5秒以上 の delay があると
Typing を表示してくれる
• 詳細はこちら:
https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/ShowTypingMiddleware.cs
Middleware の実装
DEMO
3. Accessor
State の保存はすべてここから
Bot Framework におけるステート管理
ステート管理の必要性
• ステートがなければ、一問一答しかできない
• ステートを持つことで会話フローを実現
ステートの種類
• User State
ユーザーの個々の情報(名前とか)を管理し、会話に活かす
• Conversation State / Private Conversation State
直前の会話で何を答えたか、会話フローの中でどの会話をしているかなど
Accessor という概念を利用したステートの管理
property accessors の利用でプログラムが汎用化
• 独自のステートのシリアライズ/デシリアライズ
• キャッシュへの読み書き、データストアへの保存
• 公式ドキュメントで概要を確認して利用しましょう
https://docs.microsoft.com/ja-jp/azure/bot-service/bot-builder-concept-state?view=azure-bot-service-4.0
• 実装もほぼ固定のパターンなのでサンプルを参照しましょう
https://docs.microsoft.com/ja-jp/azure/bot-service/bot-builder-howto-v4-state?view=azure-bot-service-4.0&tabs=csharp
4. Dialog と Waterfall
会話フロー構築のためのオブジェクトの概要
ダイアログライブラリの階層
一連の会話の責務単位
1度の会話の単位 一連の会話フローの単位
回答のデータ型に
応じたプロンプト
Dialog と Waterfall の棲み分け
Dialog
• 単一または一連の会話フロー単位がベター
• Dialog 間を行き来しやすい(Waterfall だと難しい)
• 再利用可能な Component Dialog として作ると便利
Waterfall
• 会話が一方通行で決まったフローの場合に有用。
• 一方通行ではなく戻るようなフローには不向き(できないことはないが…)
5. Adaptive Cards
これさえあれば何もいらない
とはならないけど….
Adaptive Cards
積極的に利用して UI / UX の改善へ
• 公式サイト(https://adaptivecards.io/)でサンプルも充実
• 公式サイトの Web上でデザイン可能
• プログラムで動的な生成も可能
その他
公式ドキュメント
日本語ドキュメントは、古い可能性がある
• 2018年9月に V4 が GA したため、まだ翻訳ができていない部分がある(10
月に比べたらだいぶ良くなった)
• 更新日が2018年9月以前のものは、古い可能性高いため、英語版と更新
日を見比べて、必要に応じて英語版を見ましょう
• 古いのを見つけたら…文句を言うのではなくコントリビュートしましょう…
Bot Builder tools の存在
開発における便利ツール群
• 公式のサイト(GitHub: https://github.com/Microsoft/botbuilder-tools )にてどんなものがあるか
チェックしておきましょう。
Microsoft App ID
Microsoft App ID には有効期限がある
• Azure Bot Service で自動生成されたID/Passwordは、有効期限が2年間
に設定されている
• 必要に応じて有効期限を設定しましょう。Azure ポータルからの設定・確認方
法2パターンは以下
• Bot Service のリソース > 設定 > Microsoft App ID の欄にある「管理」のリンクをクリック
• Azure Active Directory > アプリ登録(プレビュー) > 対象のアプリのIDを選択
Slot 機能でデプロイメントの効率化
Web Apps の Slot 機能で Staging / Production をスワップ運用
• Azure Bot Service とは、Web Apps, Bot Channel Registration, Blob,
Application Insights の集合体
• Web Apps は一つ、その他のリソースを手作業で作成することで Slot 機能を
活用できる
• Web Apps と Bot Channel Registration の紐づけは、 Azure ポータルより
設定
• Bot Channel Registration リソース > 設定 > メッセージングエンドポイント
おわりに
• ASP.NET Core 化で、モダンなフレームワークに進化
• “開発者にとっては” よりフレームワーク化しやすい構造に
• 人がやりにくい仕事をボットで代替することで、人がよりクリエイ
ティブで楽しいことに集中できる世界を作りましょう
Let’s enjoy Bot Framework V4 !
… .. . ..
Happy Coding !!
Cogbot #18

Mais conteúdo relacionado

Mais procurados

120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundryTakayoshi Tanaka
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespacesIssei Hiraoka
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話mdome
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCIYosuke Mizutani
 
プラガブル Play20 Scala
プラガブル Play20 Scalaプラガブル Play20 Scala
プラガブル Play20 ScalaKazuhiro Sera
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDyaegashi
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステムl_b__
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)Masanori Ishigami
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CDYuta Matsumura
 
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るYu Nobuoka
 
JavaユーザのためのVSCodeのススメ
JavaユーザのためのVSCodeのススメJavaユーザのためのVSCodeのススメ
JavaユーザのためのVSCodeのススメSatoshi Takami
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方Fumihiko Shiroyama
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムYu Nobuoka
 
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話xiidec
 
JavaScriptフレームワーク入門にVue.jsはいかが?
JavaScriptフレームワーク入門にVue.jsはいかが?JavaScriptフレームワーク入門にVue.jsはいかが?
JavaScriptフレームワーク入門にVue.jsはいかが?好洋 山崎
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 

Mais procurados (20)

120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
 
Play勉強会 第3回
Play勉強会 第3回Play勉強会 第3回
Play勉強会 第3回
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
 
プラガブル Play20 Scala
プラガブル Play20 Scalaプラガブル Play20 Scala
プラガブル Play20 Scala
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステム
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
 
JavaユーザのためのVSCodeのススメ
JavaユーザのためのVSCodeのススメJavaユーザのためのVSCodeのススメ
JavaユーザのためのVSCodeのススメ
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
 
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
 
JavaScriptフレームワーク入門にVue.jsはいかが?
JavaScriptフレームワーク入門にVue.jsはいかが?JavaScriptフレームワーク入門にVue.jsはいかが?
JavaScriptフレームワーク入門にVue.jsはいかが?
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 

Semelhante a Bot Framework v4 開発 Tips 2018-11

Bot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごいBot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごいYoshitaka Seo
 
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~de:code 2017
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏Yuta Matsumura
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Ayako Omori
 
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たちBot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たちAtsushi Yokohama (BEACHSIDE)
 
Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発Yuki Hattori
 
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する日本マイクロソフト株式会社
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot FrameworkKazumi IWANAGA
 
Bot Builder V4 SDK + QnA Maker / LUIS
Bot Builder V4 SDK  + QnA Maker / LUISBot Builder V4 SDK  + QnA Maker / LUIS
Bot Builder V4 SDK + QnA Maker / LUISYoshitaka Seo
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...日本マイクロソフト株式会社
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 BotのプチレシピKazumi IWANAGA
 
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1Atsushi Yokohama (BEACHSIDE)
 
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証Yuta Matsumura
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成Osamu Monoe
 
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上Tomomi Imura
 

Semelhante a Bot Framework v4 開発 Tips 2018-11 (20)

Bot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごいBot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごい
 
Bot Framework で会話のログを取る
Bot Framework で会話のログを取るBot Framework で会話のログを取る
Bot Framework で会話のログを取る
 
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
MS系Chatbot触ってみた
MS系Chatbot触ってみたMS系Chatbot触ってみた
MS系Chatbot触ってみた
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
 
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たちBot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
Bot Framework Composer と Microsoft Azure でボット開発を取り巻く仲間たち
 
Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発Azure Bot!! Microsoft Bot Framework で簡単Bot開発
Azure Bot!! Microsoft Bot Framework で簡単Bot開発
 
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
Bot Builder V4 SDK + QnA Maker / LUIS
Bot Builder V4 SDK  + QnA Maker / LUISBot Builder V4 SDK  + QnA Maker / LUIS
Bot Builder V4 SDK + QnA Maker / LUIS
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
Azure Bot Service で始めるチャットボット開発入門 (2018-01)v1.1
 
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
 
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
 
Bot frameworksdk
Bot frameworksdkBot frameworksdk
Bot frameworksdk
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 

Mais de Atsushi Yokohama (BEACHSIDE)

チャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティチャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティAtsushi Yokohama (BEACHSIDE)
 
Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)
Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)
Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)Atsushi Yokohama (BEACHSIDE)
 
Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化Atsushi Yokohama (BEACHSIDE)
 
アプリのロギングからデータ収集・分析・活用
アプリのロギングからデータ収集・分析・活用アプリのロギングからデータ収集・分析・活用
アプリのロギングからデータ収集・分析・活用Atsushi Yokohama (BEACHSIDE)
 
BotFramework と LUIS を使ったアプリの開発
BotFramework と LUIS を使ったアプリの開発BotFramework と LUIS を使ったアプリの開発
BotFramework と LUIS を使ったアプリの開発Atsushi Yokohama (BEACHSIDE)
 
Translator API (Microsoft Cognitive Services)の概要
Translator API (Microsoft Cognitive Services)の概要Translator API (Microsoft Cognitive Services)の概要
Translator API (Microsoft Cognitive Services)の概要Atsushi Yokohama (BEACHSIDE)
 
Speech API の概要(Microsoft Cognitive Services)
Speech API の概要(Microsoft Cognitive Services)Speech API の概要(Microsoft Cognitive Services)
Speech API の概要(Microsoft Cognitive Services)Atsushi Yokohama (BEACHSIDE)
 

Mais de Atsushi Yokohama (BEACHSIDE) (13)

チャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティチャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティ
 
Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)
Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)
Azure Cognitive Services の Vision カテゴリーまとめ(2020/3)
 
Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化Automated ML (Azure) で始める機械学習の民主化
Automated ML (Azure) で始める機械学習の民主化
 
Azure Bot Service で CI/CD on Azure Dev Ops
Azure Bot Service で CI/CD on Azure Dev OpsAzure Bot Service で CI/CD on Azure Dev Ops
Azure Bot Service で CI/CD on Azure Dev Ops
 
Build 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summaryBuild 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summary
 
アプリのロギングからデータ収集・分析・活用
アプリのロギングからデータ収集・分析・活用アプリのロギングからデータ収集・分析・活用
アプリのロギングからデータ収集・分析・活用
 
Project Prague を試してみました
Project Prague を試してみましたProject Prague を試してみました
Project Prague を試してみました
 
BotFramework と LUIS を使ったアプリの開発
BotFramework と LUIS を使ったアプリの開発BotFramework と LUIS を使ったアプリの開発
BotFramework と LUIS を使ったアプリの開発
 
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
 
Translator API (Microsoft Cognitive Services)の概要
Translator API (Microsoft Cognitive Services)の概要Translator API (Microsoft Cognitive Services)の概要
Translator API (Microsoft Cognitive Services)の概要
 
Speech API の概要(Microsoft Cognitive Services)
Speech API の概要(Microsoft Cognitive Services)Speech API の概要(Microsoft Cognitive Services)
Speech API の概要(Microsoft Cognitive Services)
 
LUIS を使ったアプリケーション開発
LUIS を使ったアプリケーション開発LUIS を使ったアプリケーション開発
LUIS を使ったアプリケーション開発
 
Build 2017 更新情報 Cognitive Services 編
Build 2017 更新情報 Cognitive Services 編Build 2017 更新情報 Cognitive Services 編
Build 2017 更新情報 Cognitive Services 編
 

Último

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Último (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Bot Framework v4 開発 Tips 2018-11

  • 1. Bot Framework V4 開発 Tips 2018-11 V4 開発で最初に知っておきたいポイント 2018-11 Cogbot #18
  • 2. ABOUT ME 横浜 篤 よこはま あつし C#, ASP.NET Core, Azure, Cognitive Services, Bot Framework…. 開発者募集しています♪ C#er Cogbot コミュニティ @BEACH_SIDE http://beachside.hatenablog.com/ BEACHSIDE BLOG 株式会社アイティーブレーン Edge Technology and Projects 部 部長
  • 3. 本日のゴール Bot Framework V4 で開発をする上で把握しておきたいと (私個人的に)感じたことを共有 2018年11月末時点ノ情報デスWARNING • Bot Framework V4 をこれから触りたい人向け • Bot Framework V3 で開発はしてたけど、まだV4触ってない人に向け • 主に C# 版のお話
  • 4. アジェンダ 1. Bot File の存在 2. Middleware の有効活用 3. Accessor 4. Dialog と Waterfall 5. Adaptive Cards 6. その他
  • 5. 1. Bot File の存在 正しく使い方は…
  • 6. Bot File とは (1) リソースの管理用ファイル • 使用する言語やプラットフォームに関係なくリソース管理するために存在 • 格納されている情報の例として、Application Insights のキー情報や Blob Storage の接続文字列など • 環境ごと(ローカルホスト、Azure Bot Serviceの本番環境など)のエンドポイントの記載があり、Bot Emulator で容易にアクセス可能 公式ドキュメント: https://docs.microsoft.com/ja-jp/azure/bot-service/bot-file-basics?view=azure-bot-service-4.0
  • 7. Bot File とは (2) 暗号化 / 複合化 • Azure Bot Service で作成されたソースコードのBot File は、キーや接続文字 列は、暗号化されて格納されている。暗号化キー(BotFileSecret)は、Azure Bot Service(Web Apps)のアプリケーション設定の中にある • 暗号化された情報を見るには、Bot Emulator でみる、または、”MSBot Command Line tool” で複合化を行う • ”MSBot Command Line tool” で複合化して編集した後、再び暗号化する には新規に暗号化キーを生成する必要がある 公式ドキュメント: https://github.com/Microsoft/botbuilder-tools/tree/master/packages/MSBot
  • 8. セキュアな情報はどこに保存すべきか キー情報の保存先は複数存在 • Bot File • appsettings.json または、appsettigs.{ environmentName }.json • UserSecrets (ローカル開発用) • Azure Bot Service(Web Apps)のアプリケーション設定 • Azure の Key Vault
  • 9. プログラム実行時の躓きポイント(1) Bot File のファイル名にまつわるカオス 初期値が色々な箇所で設定されている 設定されている箇所 ファイル名 Azure Bot Service で作成されたソースコードの Bot File のファイル名 {プロジェクト名}.bot Azure Bot Service で作成されたソースコードの appsettings 内の値 コメントの文字列 VS 2017 でプロジェクトテンプレートからソースコードを作成した場合のファイル名 BotConfiguration.bot VS 2017 でプロジェクトテンプレートからソースコードを作成した場合のappsettings 内の値 BotConfiguration.bot ソースコード内(Startup.cs)で、環境変数/設定ファイルから値が取得できなかった時のデフォ ルト値 BotConfiguration.bot Azure Bot Service(Web Apps)の「アプリケーション設定」でのデフォルト値 {プロジェクト名}.bot
  • 10. プログラム実行時の躓きポイント(2) Bot File の複合キーを取得してローカルに保存が必要 • Azure Bot Serviceで生成されたソースコードの 場合、 Azure Bot Service (Web Apps) のア プリケーション設定で、「BotFileSecret」の値を 取得しappsetting.json 等へ設定が必要 • 「BotFileSecret」の値を appsettings に書くの はナンセンス…ローカルならUserSecrets に保存 がベター。
  • 11. Bot File を見てみる MSBot CLI で複合化 / 暗号化 Emulator で確認 DEMO
  • 12. Bot File に情報を保存する際に気にしておきたいこと 変更があると BotFileSecret の値が新しくなる • UserSecrets に保存してる場合、開発者全員更新が必要 • 環境が複数ある場合(Dev/Staging/Production など)、すべての環境で 更新が必要 • 実運用中なら、更新するためのオペレーションが面倒なことになりかねない
  • 15. 会話ログの保存 TranscriptLoggerMiddleware • Startup.cs に組み込むだけで、会話のログを保存してくれる • ログの内容は、Bot Emulator で見れる Json の内容と同様 • 詳細はこちら: https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/TranscriptLoggerMiddleware.cs
  • 16. State の保存 AutoSaveStateMiddleware • Startup.cs に組み込むだけで、State を保存してくれる • 詳細はこちら: https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/AutoSaveStateMiddleware.cs
  • 17. Typing の表示 ShowTypingMiddleware • Startup.cs に組み込むだけで、デフォルトで0.5秒以上 の delay があると Typing を表示してくれる • 詳細はこちら: https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/ShowTypingMiddleware.cs
  • 20. Bot Framework におけるステート管理 ステート管理の必要性 • ステートがなければ、一問一答しかできない • ステートを持つことで会話フローを実現 ステートの種類 • User State ユーザーの個々の情報(名前とか)を管理し、会話に活かす • Conversation State / Private Conversation State 直前の会話で何を答えたか、会話フローの中でどの会話をしているかなど
  • 21. Accessor という概念を利用したステートの管理 property accessors の利用でプログラムが汎用化 • 独自のステートのシリアライズ/デシリアライズ • キャッシュへの読み書き、データストアへの保存 • 公式ドキュメントで概要を確認して利用しましょう https://docs.microsoft.com/ja-jp/azure/bot-service/bot-builder-concept-state?view=azure-bot-service-4.0 • 実装もほぼ固定のパターンなのでサンプルを参照しましょう https://docs.microsoft.com/ja-jp/azure/bot-service/bot-builder-howto-v4-state?view=azure-bot-service-4.0&tabs=csharp
  • 22. 4. Dialog と Waterfall 会話フロー構築のためのオブジェクトの概要
  • 24. Dialog と Waterfall の棲み分け Dialog • 単一または一連の会話フロー単位がベター • Dialog 間を行き来しやすい(Waterfall だと難しい) • 再利用可能な Component Dialog として作ると便利 Waterfall • 会話が一方通行で決まったフローの場合に有用。 • 一方通行ではなく戻るようなフローには不向き(できないことはないが…)
  • 26. Adaptive Cards 積極的に利用して UI / UX の改善へ • 公式サイト(https://adaptivecards.io/)でサンプルも充実 • 公式サイトの Web上でデザイン可能 • プログラムで動的な生成も可能
  • 28. 公式ドキュメント 日本語ドキュメントは、古い可能性がある • 2018年9月に V4 が GA したため、まだ翻訳ができていない部分がある(10 月に比べたらだいぶ良くなった) • 更新日が2018年9月以前のものは、古い可能性高いため、英語版と更新 日を見比べて、必要に応じて英語版を見ましょう • 古いのを見つけたら…文句を言うのではなくコントリビュートしましょう…
  • 29. Bot Builder tools の存在 開発における便利ツール群 • 公式のサイト(GitHub: https://github.com/Microsoft/botbuilder-tools )にてどんなものがあるか チェックしておきましょう。
  • 30. Microsoft App ID Microsoft App ID には有効期限がある • Azure Bot Service で自動生成されたID/Passwordは、有効期限が2年間 に設定されている • 必要に応じて有効期限を設定しましょう。Azure ポータルからの設定・確認方 法2パターンは以下 • Bot Service のリソース > 設定 > Microsoft App ID の欄にある「管理」のリンクをクリック • Azure Active Directory > アプリ登録(プレビュー) > 対象のアプリのIDを選択
  • 31. Slot 機能でデプロイメントの効率化 Web Apps の Slot 機能で Staging / Production をスワップ運用 • Azure Bot Service とは、Web Apps, Bot Channel Registration, Blob, Application Insights の集合体 • Web Apps は一つ、その他のリソースを手作業で作成することで Slot 機能を 活用できる • Web Apps と Bot Channel Registration の紐づけは、 Azure ポータルより 設定 • Bot Channel Registration リソース > 設定 > メッセージングエンドポイント
  • 33. • ASP.NET Core 化で、モダンなフレームワークに進化 • “開発者にとっては” よりフレームワーク化しやすい構造に • 人がやりにくい仕事をボットで代替することで、人がよりクリエイ ティブで楽しいことに集中できる世界を作りましょう Let’s enjoy Bot Framework V4 !
  • 34. … .. . .. Happy Coding !! Cogbot #18