Azure Functionsで
Line Botを作ってみた
2017年3月15日
第6回 城東.NET勉強会
まずは自己紹介
・名前
木下 裕之
・HN:Kingkino
・SNS
Twitter @kingkinoko FaceBookやってます。GitとLinkedInもちょこっと・・・。
・Azure暦:6年
・Azure Function暦:7ヶ月
・MCSE : Cloud Platform and Infrastructure 2017
(MCP 70-532 : 70-533 : 70-534)
※この資料は2017年3月15日時点での情報を元に作成しています。
Azure FunctionsでLine Botを作った経緯
ネットで検索してもAzure FunctionsとC#でLine Bot作ったという情報があまり出てきません。
検索して出てくる目ぼしいサイトは下記のサイトくらいです。
・ Azure Functions + Node.jsのサンプル
http://qiita.com/yorifuji/items/7f892564958cf464a812
http://qiita.com/maaya8585/items/caf5c79610ed75b051a0
・ WebApps + C#のサンプル (BOT API Trial)(ピエールさんのブログ)
http://pierre3.hatenablog.com/entry/2016/04/13/234505
・ Azure Functions + C#のサンプル (BOT API Trial)( guitarrapc_techさんのブログ)
http://tech.guitarrapc.com/entry/2016/04/14/135520
・ WebApps + C#のサンプル MSの中の人のサンプル、※現時点で一番利用しやすそう
https://blogs.msdn.microsoft.com/kenakamu/2017/01/10/linebotwithcsharp/
その他にもpythonやJAVA、Ruby等で作ってみたという情報はあるのですが最新のMessage APIとAzure Functions + C#
で作成したという情報がなかったので開発に着手しました。ちなみにLine Message APIは昨年の9月にリリースされています。
Azure FunctionsでどんなLine Botを作ったのか
Azure Functions + C#でLine Botを作ってみました。
Bot名は「大変よくできました!」で無条件で誉め続けてくれるBotです。
年を重ねる度に褒めてもらう機会が減り褒める事が多くなってくると思います。
誰しも褒めて貰える事は嬉しいのでそんな人向けをコンセプトに作ってみました。
暫くの間、公開しているのでよければ友達使ってみてください。
作っておいてなんですがやればやるほど空しくなるので是非お試しあれ。
Lineの友達登録からQRコードで登録を選択して右記
のQRコードを読み取ってください。
※なお、このBotは予告なく削除しますので予めご承
知おきください。
Azure Functionsで動くLine Botの仕組み
Azure FunctionsはHttpTriggerCsharpテンプレートを利用して作成します。
LineのMessaging APIにAzure FunctionsのWebhook URLを登録して連携します。
今回利用したMessage APIはWebhook(Lineからの通知)とReply Message(Functionsからの返信)です。
Azure Functionsの
Webhook URLを登録する
HTTP Trigger Csharp
Reply Message
HTTP trigger
HTTP output
Azure Storage
②Line Reply Message APIに
リクエスト
①Webhookによるトリガー
AzureStorageに配置した
データを読み込む
③HTTPtriggerのレスポンスを返却
苦労した点
ネットで検索しても情報があまり出てこない系の開発だったので情報が少なくて難儀しました。
Message APIのリファレンスはあるのですが何故かC#のサンプルがないという悲しい現実もあります。GOですらあるのに。
あと、Azure Functions + C#は本当に開発しづらいです。VS2015でもインテリセンスが効かない部分が多いのとMessage
APIの連携がWebHookのためローカルの開発環境だとIFが通らなかったり、仕方ないのでAzure PortalのFunctions Editor
を利用するがメモ帳で開発するのと同じレベルで実行時にしかエラーが判断できなかったりと苦労しました。
C#のサンプルがないリファレンス Functionsの開発画面
Azure FunctionsでLine Botを作ってみた感想
「ハマる事もあるけれど、私Azure Functionsが大好きです。」
と、言えるようになりたい・・・。
最初はそこそこはまりましたけど、一回作り方を覚えてしまえば大して苦労せずに作れると思います。
Cognitive Serviceと組み合わせると面白いBotが作れるんじゃないかと画策もしています。
とりあえずもう少しまともなやり取りができるようにLUISあたりを使ってみたら面白いんじゃないかな。
もちろん、「りんな」は目指しません。
無料アカウントで作成しているのでいろいろと制限はありますが有料で利用できるカルーセル等のリッチUIや認証
機能を使って最終的な野望である「モスバーガーのチャットBot注文」が作れるといいなぁなんて思ってます。
最後に・・・・
参考:Azure Functionsの構築方法とLine message APIの開設と設定方法とサンプルソース
LINE BUSINESS CENTER
https://business.line.me/ja/services/bot
LINE BOTの作り方を世界一わかりやすく解説(1)【アカウント準備編】
http://qiita.com/yoshizaki_kkgk/items/bd4277d3943200beab26
LINE API Reference
https://devdocs.line.me/ja/
Azure Functionsの開発環境構築
http://www.buildinsider.net/pr/microsoft/azure/dictionary06
Azure Functions + C# Line Echo Bot Sample
https://github.com/kingkino/kokoni-SmapleLineEchoBot
Azure Functions + C# Line Praise Line Bot
https://github.com/kingkino/kokoni-PraiseLineBot

More Related Content

PPTX
懲りずにazure functionsでlinebotを作ってみた
PDF
20190731 Azure Functions x Line at Azure Tech Lab #4
PPTX
Azureもくもく会@東京のいままでとこれからと
PPTX
ノンコーディングでLineBotを作る MS FLOW編
PPTX
Azureコスト管理機能のお話
PPTX
Xamarin + Azure Mobile Appsの現実
PPTX
ここがつらいよAws batch
PPTX
Running Kubernetes on Azure
懲りずにazure functionsでlinebotを作ってみた
20190731 Azure Functions x Line at Azure Tech Lab #4
Azureもくもく会@東京のいままでとこれからと
ノンコーディングでLineBotを作る MS FLOW編
Azureコスト管理機能のお話
Xamarin + Azure Mobile Appsの現実
ここがつらいよAws batch
Running Kubernetes on Azure

What's hot (20)

PDF
Innovation eggcloudnative
PPTX
ReactでCMSを作ったときにハマったこと
PDF
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PPTX
本番運用で使うVisual Studio
PPTX
なるほどわかった!App Service on Linux
PPTX
Ml.NET
PDF
元OracleMasterPlatinumがCloudSpanner触ってみた
PDF
Infrastructure as Codeってなんだったっけ?
PDF
ノーコーディングでAIサービスを使ってみた話
PPTX
Face APIで開発する時に使っている7つの道具
PDF
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
PDF
Google アナリティクスで SharePointの利用状況を確認する
PPTX
現実的な「WordPress on Azure App Service」 クイックスタート
PPTX
今更聞けないストリーム処理のあれとかこれ
PDF
Terraform×Rancherでマルチクラウドを一歩すすめる
PPTX
Azure Appservice WebAppsでWordPressサイトを構築すると 運用が劇的にラクになる話
PDF
Azure Arcで「どこでも」Azureサービスを利用可能に!
PPTX
【2017早めの夏休み自由研究】SPAとサーバーレスについて
PDF
Google App Engine for PHPとそのローカル開発環境について
PPTX
Azure 三つ巴チームが送るIgnite 振り返り!
Innovation eggcloudnative
ReactでCMSを作ったときにハマったこと
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
本番運用で使うVisual Studio
なるほどわかった!App Service on Linux
Ml.NET
元OracleMasterPlatinumがCloudSpanner触ってみた
Infrastructure as Codeってなんだったっけ?
ノーコーディングでAIサービスを使ってみた話
Face APIで開発する時に使っている7つの道具
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
Google アナリティクスで SharePointの利用状況を確認する
現実的な「WordPress on Azure App Service」 クイックスタート
今更聞けないストリーム処理のあれとかこれ
Terraform×Rancherでマルチクラウドを一歩すすめる
Azure Appservice WebAppsでWordPressサイトを構築すると 運用が劇的にラクになる話
Azure Arcで「どこでも」Azureサービスを利用可能に!
【2017早めの夏休み自由研究】SPAとサーバーレスについて
Google App Engine for PHPとそのローカル開発環境について
Azure 三つ巴チームが送るIgnite 振り返り!
Ad

Similar to azure functionsでlinebotを作ってみた (11)

PPTX
Visual Studio 2017 で Azure Functions の開発
PDF
ゆるふわAzure Functions
PPTX
azure functionsとcsx
PDF
Bot Serviceだけじゃない!Azureで加速させるLINE開発~Clova腹話術スキルの紹介~
PDF
Azure Functionsでサーバーレスアプリケーション構築
PDF
Azure functions+typescript
PPTX
Azure serverless!! azure functionsでサーバーを意識しない開発
PDF
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
PDF
LINE Bot 開発のための Azure Logic Apps 入門
PDF
Azure Functionsでサーバーレスアプリケーション構築
PPTX
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Visual Studio 2017 で Azure Functions の開発
ゆるふわAzure Functions
azure functionsとcsx
Bot Serviceだけじゃない!Azureで加速させるLINE開発~Clova腹話術スキルの紹介~
Azure Functionsでサーバーレスアプリケーション構築
Azure functions+typescript
Azure serverless!! azure functionsでサーバーを意識しない開発
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
LINE Bot 開発のための Azure Logic Apps 入門
Azure Functionsでサーバーレスアプリケーション構築
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Ad

More from 裕之 木下 (15)

PPTX
AzureStorageのオブジェクトレプリケートを試してみた
PPTX
Client Side Balzorでツールを作ってみた
PPTX
Azure DevOpsで技術同人誌作成
PPTX
第15回JSSUG「Azure SQL Database 超入門」
PPTX
Azure Functionsを業務利用する時の勘所
PPTX
クラウドで動画配信
PPTX
「Azure durable functions」の概要
PPTX
Xamrin de live2d
PPTX
Azure vs aws比較 エンコード ace用
PPTX
ノンプログラミングで楽したい
PPTX
azure botserviceをもっと身近に
PPTX
azure障害は忘れたころにやってくる
PPTX
明日から役立つazure①
PPTX
昨今のpaas事情
PPTX
build2017のazure関連情報まとめ
AzureStorageのオブジェクトレプリケートを試してみた
Client Side Balzorでツールを作ってみた
Azure DevOpsで技術同人誌作成
第15回JSSUG「Azure SQL Database 超入門」
Azure Functionsを業務利用する時の勘所
クラウドで動画配信
「Azure durable functions」の概要
Xamrin de live2d
Azure vs aws比較 エンコード ace用
ノンプログラミングで楽したい
azure botserviceをもっと身近に
azure障害は忘れたころにやってくる
明日から役立つazure①
昨今のpaas事情
build2017のazure関連情報まとめ

azure functionsでlinebotを作ってみた

  • 2. まずは自己紹介 ・名前 木下 裕之 ・HN:Kingkino ・SNS Twitter @kingkinoko FaceBookやってます。GitとLinkedInもちょこっと・・・。 ・Azure暦:6年 ・Azure Function暦:7ヶ月 ・MCSE : Cloud Platform and Infrastructure 2017 (MCP 70-532 : 70-533 : 70-534) ※この資料は2017年3月15日時点での情報を元に作成しています。
  • 3. Azure FunctionsでLine Botを作った経緯 ネットで検索してもAzure FunctionsとC#でLine Bot作ったという情報があまり出てきません。 検索して出てくる目ぼしいサイトは下記のサイトくらいです。 ・ Azure Functions + Node.jsのサンプル http://qiita.com/yorifuji/items/7f892564958cf464a812 http://qiita.com/maaya8585/items/caf5c79610ed75b051a0 ・ WebApps + C#のサンプル (BOT API Trial)(ピエールさんのブログ) http://pierre3.hatenablog.com/entry/2016/04/13/234505 ・ Azure Functions + C#のサンプル (BOT API Trial)( guitarrapc_techさんのブログ) http://tech.guitarrapc.com/entry/2016/04/14/135520 ・ WebApps + C#のサンプル MSの中の人のサンプル、※現時点で一番利用しやすそう https://blogs.msdn.microsoft.com/kenakamu/2017/01/10/linebotwithcsharp/ その他にもpythonやJAVA、Ruby等で作ってみたという情報はあるのですが最新のMessage APIとAzure Functions + C# で作成したという情報がなかったので開発に着手しました。ちなみにLine Message APIは昨年の9月にリリースされています。
  • 4. Azure FunctionsでどんなLine Botを作ったのか Azure Functions + C#でLine Botを作ってみました。 Bot名は「大変よくできました!」で無条件で誉め続けてくれるBotです。 年を重ねる度に褒めてもらう機会が減り褒める事が多くなってくると思います。 誰しも褒めて貰える事は嬉しいのでそんな人向けをコンセプトに作ってみました。 暫くの間、公開しているのでよければ友達使ってみてください。 作っておいてなんですがやればやるほど空しくなるので是非お試しあれ。 Lineの友達登録からQRコードで登録を選択して右記 のQRコードを読み取ってください。 ※なお、このBotは予告なく削除しますので予めご承 知おきください。
  • 5. Azure Functionsで動くLine Botの仕組み Azure FunctionsはHttpTriggerCsharpテンプレートを利用して作成します。 LineのMessaging APIにAzure FunctionsのWebhook URLを登録して連携します。 今回利用したMessage APIはWebhook(Lineからの通知)とReply Message(Functionsからの返信)です。 Azure Functionsの Webhook URLを登録する HTTP Trigger Csharp Reply Message HTTP trigger HTTP output Azure Storage ②Line Reply Message APIに リクエスト ①Webhookによるトリガー AzureStorageに配置した データを読み込む ③HTTPtriggerのレスポンスを返却
  • 6. 苦労した点 ネットで検索しても情報があまり出てこない系の開発だったので情報が少なくて難儀しました。 Message APIのリファレンスはあるのですが何故かC#のサンプルがないという悲しい現実もあります。GOですらあるのに。 あと、Azure Functions + C#は本当に開発しづらいです。VS2015でもインテリセンスが効かない部分が多いのとMessage APIの連携がWebHookのためローカルの開発環境だとIFが通らなかったり、仕方ないのでAzure PortalのFunctions Editor を利用するがメモ帳で開発するのと同じレベルで実行時にしかエラーが判断できなかったりと苦労しました。 C#のサンプルがないリファレンス Functionsの開発画面
  • 7. Azure FunctionsでLine Botを作ってみた感想 「ハマる事もあるけれど、私Azure Functionsが大好きです。」 と、言えるようになりたい・・・。 最初はそこそこはまりましたけど、一回作り方を覚えてしまえば大して苦労せずに作れると思います。 Cognitive Serviceと組み合わせると面白いBotが作れるんじゃないかと画策もしています。 とりあえずもう少しまともなやり取りができるようにLUISあたりを使ってみたら面白いんじゃないかな。 もちろん、「りんな」は目指しません。 無料アカウントで作成しているのでいろいろと制限はありますが有料で利用できるカルーセル等のリッチUIや認証 機能を使って最終的な野望である「モスバーガーのチャットBot注文」が作れるといいなぁなんて思ってます。 最後に・・・・
  • 8. 参考:Azure Functionsの構築方法とLine message APIの開設と設定方法とサンプルソース LINE BUSINESS CENTER https://business.line.me/ja/services/bot LINE BOTの作り方を世界一わかりやすく解説(1)【アカウント準備編】 http://qiita.com/yoshizaki_kkgk/items/bd4277d3943200beab26 LINE API Reference https://devdocs.line.me/ja/ Azure Functionsの開発環境構築 http://www.buildinsider.net/pr/microsoft/azure/dictionary06 Azure Functions + C# Line Echo Bot Sample https://github.com/kingkino/kokoni-SmapleLineEchoBot Azure Functions + C# Line Praise Line Bot https://github.com/kingkino/kokoni-PraiseLineBot