4. アジェンダ
前半戦 Serverless on Azure
• Azure Functions
• トリガー、バインドの利用方法
• 2つのホスティングプラン
後半戦 Azure Functions x LINE 連携で学ぶ サーバーレスシナリオ
• LINE への応答(シンプル)
• Azure Bot Service - Line Channel
• LINE への応答(非同期)
• LINE Front-end Framework (a.k.a. LIFF)
• LIFF starter for App Service
24. LINE
Messaging
API
何かの処理
e.g.
QnA Maker,
Cognitive Service,
ML model,
etc
LINE への応答(シンプル)
一つの Functions で、1. Webhook を受け取る、2. 応答メッセージを送る
これでは課題がある。
Good?
Yeah!
HTTP
POST
HTTP
POST
POST https://api.line.me/v2/bot/message/reply
{
"replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"messages": [
{"type":"text", "text":"Yeah!" }
]
}
待たせてしまう
25. Azure Bot Service - Line Channel
https://docs.microsoft.com/ja-jp/azure/bot-service/bot-service-channel-connect-line?view=azure-bot-service-4.0
何かの処理
e.g.
QnA Maker,
Cognitive Service,
ML model,
etc
LINE
Messaging
API
Good?
Yeah!
HTTP
POST
HTTP
POST
Azure
Bot Service HTTP
POST https://api.line.me/v2/bot/message/reply
{
"replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"messages": [
{"type":"text", "text":"Yeah!" }
]
}
Yeah!
Good?
Webサーバの
ように応答
26. LINE への応答(なるべく非同期)
Event Grid と Service Bus / Queue を挟んで、まずは LINE へすぐに応答する
Good?
Yeah!
HTTP
POST
EventGridClientHTTP
POST
即レスポンス!
後から応答メッセージ
LINE
Messaging
API
コードサンプル:https://github.com/hoisjp/azfunc-line-sample
27. LINE Front-end Framework (a.k.a. LIFF)
通常のブラウザから遷移しても・・・
e.g. https://ishiraok-liff-starter.azurewebsites.net
LINE app から表示すると・・・
e.g. line://app/1598355234-Lvd72yp5
LINE app のブラウザ
から
コンテキスト情報を
取得することができる
28. LIFF のバックエンドは何でもよい。当然 Azure でもよい。
line-liff-starter
1. App Service (Free Plan) に
ワンクリックでデプロイできるようにサンプルを用意
https://github.com/hoisjp/line-liff-starter
forked from line/line-liff-starter
2. または、静的ページをBlobでホスト
静的HTMLページ == HTTP ==> Azure Functions
さらなる情報はこちらを参考に。
Qiita: LINE の LIFF 開発超入門 : LIFF SDK を使った Web アプリの開発
29. LINE 連携 参考ドキュメント
Azure Bot Service :ボットを LINE に接続する
https://docs.microsoft.com/ja-jp/azure/bot-service/bot-service-channel-connect-
line?view=azure-bot-service-4.0
Messaging API リファレンス
https://developers.line.biz/ja/reference/messaging-api/
LIFF API リファレンス
https://developers.line.biz/ja/reference/liff/
33. まとめ
前半戦 Serverless on Azure
• Azure Functions
• トリガー、バインドの利用方法
• 2つのホスティングプラン
後半戦 Azure Functions x LINE 連携で学ぶ サーバーレスシナリオ
• LINE への応答(シンプル)
• Azure Bot Service - Line Channel
• LINE への応答(非同期)
• LINE Front-end Framework (a.k.a. LIFF)
• LIFF starter for App Service