Azureサーバーレス&LINE API フル活用のシステム事例紹介!
- 2. About me
• name: 平林 拓将(ひらりん)
• work: テクニカルトレーナー&開発
• award/title:
- Microsoft MVP for Azure(2019.11~)
- LINE API Expert(2020.3~)
• like:
- C# / serverless / cross-platform
• social:
- Twitter:@himarin269
- GitHub:himanago
- Blog:http://himanago.hatenablog.com/
- 9. システム(バックエンド)
各種スキル
(自動応答)
システム概要 ~2つの応答モードをもつ LINE Bot ~
Bot
LIFF
skill
skill
skill
NLU
ユーザー
管理・運営側
個別トーク
エンド
ポイント
管理画面
(ブラウザ)
自動応答と担当者との
個別トークをユーザーが
切り替えて利用
自然言語処理により
適切な Bot スキルを
呼び出し、対話フローを開始
Botユーザーとの
リアルタイムなチャット
自動応答の対話フローと
LIFF画面を併用
&
icon / nickname switch
- 13. データの更新をリアルタイムに反映
出典: Azure Functions で SignalR Service バインドを使用したリアルタイムのサーバーレス アプリケーション
https://azure.microsoft.com/ja-jp/blog/real-time-serverless-applications-with-the-signalr-service-bindings-in-azure-functions/
- 20. Durable Functions
• 3種の関数を組み合わせてステートフルな処理を
実現する Azure Functions の拡張機能
スターター関数 オーケストレーター関数 アクティビティ関数
• HTTPトリガーなど通常の関数
• オーケストレーターを起動する
• ステートフルな処理をとりまとめる
関数オーケストレーションを担当
• 裏で何度も再実行され、持続的な
処理としてふるまう
• オーケストレーターからの実行指
示で起動する関数
• アプリケーションの機能を担当
アクティビティ関数
アクティビティ関数
履歴などの実行情報をストレージに書き込んで勝手に管理してくれる!
- 22. Bot
LIFF
エンド
ポイント
Messaging API と LIFF の連携
HTTPトリガー オーケストレーター
LIFFのURLを返却 イベント待機
WaitForExternalEvent
アクティビティ
インスタンスID(LINEユーザーID)
とイベント名を指定
LIFFの入力を
前提とした処理
何らかの処理
+
RaiseEventAsync
LINEユーザーIDを
インスタンスIDとして起動
LIFFの入力データ
イベント発火
- 27. システム(バックエンド)
各種スキル
(自動応答)
システム概要 ~2つの応答モードをもつ LINE Bot ~
Bot
LIFF
skill
skill
skill
NLU
ユーザー
管理・運営側
個別トーク
エンド
ポイント
管理画面
(ブラウザ)
自動応答と担当者との
個別トークをユーザーが
切り替えて利用
自然言語処理により
適切な Bot スキルを
呼び出し、対話フローを開始
Botユーザーとの
リアルタイムなチャット
自動応答の対話フローと
LIFF画面を併用
&
icon / nickname switch