狠狠撸

狠狠撸Share a Scribd company logo
#linebootawards #スマートスピーカーを遊びたおす会
スマートスピーカーのバックエンドで
Azure を使う方法
大田 一希
Twitte:@okazuki
#linebootawards #スマートスピーカーを遊びたおす会
自己紹介
名前:大田 一希
好き:?、C#、モンハン
苦手:型の無い言語
Twitter:@okazuki
Blog:かずきのBlog@hatena (https://blog.okazuki.jp)
仕事:
富士通系 SIer に 10 年ちょっと
現在は日本マイクロソフトで
プレミアフィールドエンジニア
#linebootawards #スマートスピーカーを遊びたおす会
今日の LT のゴール
Microsoft のクラウドサービスの Microsoft Azure で
スマートスピーカーのバックエンドを作るときの
ポイントをおさえてもらう
#linebootawards #スマートスピーカーを遊びたおす会
Microsoft Azure とは
数百のサービス
がある Microsoft のクラウドサービス
#linebootawards #スマートスピーカーを遊びたおす会
今回紹介するサービス
App Service の中の
? Web App
? PHP、node (バージョン指定可能)、C#、Python、Docker をデプロイ可能
? Function App(Azure Functions)
? node (6.5)、C#、F# を動かせる AWS Lambda、GCP Cloud Functions と似たもの
※ Azure Functions v2 (現在 preview) から node のバージョン選択可能
#linebootawards #スマートスピーカーを遊びたおす会
自由度が高いもの
Web App
? express で開発したアプリが普通に動く
(node.js, python, C#, Java, docker)
デプロイ!
Azure Web app
#linebootawards #スマートスピーカーを遊びたおす会
デプロイ時のポイント 1
web.config というファイルでエントリーポイントを指定
参考 1:web.config のサンプル
https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config
参考 2:Clova Extensions Kit のチュートリアルを Azure で動かす手順
https://blog.okazuki.jp/entry/2018/09/05/194531
中略
#linebootawards #スマートスピーカーを遊びたおす会
デプロイ時のポイント 2
アプリフォルダを zip で固めて以下の URL からデプロイ
? https://<app_name>.scm.azurewebsites.net/ZipDeploy
? git push でデプロイ、CIからデプロイなども対応
ドロップ!
#linebootawards #スマートスピーカーを遊びたおす会
Demo
CLOVA EXTENSION
#linebootawards #スマートスピーカーを遊びたおす会
サーバーレスにしたい
Function App(Azure Functions)
? Microsoft Azure のサーバーレスのプラットフォーム
#linebootawards #スマートスピーカーを遊びたおす会
express って使えるの?
大体のスマートスピーカーのライブラリは express に依存?
? azure-function-express を適用すれば使える
? https://www.npmjs.com/package/azure-function-express
#linebootawards #スマートスピーカーを遊びたおす会
はじめかた
例:Google Assistant に対応させる方法
? func init # プロジェクト作成
func new # 関数作成(ここで作成したものにコードを書く)
npm init –y # package.json 作成
npm i express # 各種ライブラリのインストール
npm i azure-function-express
npm i dialogflow
npm i dialogflow-fulfillment
npm i actions-on-google
? Azure Functions Core Tools の操作(環境のセットアップ)
https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-run-local
? コード例:
https://gist.github.com/runceel/937783d7dd41d933f8cbbf033957c125
#linebootawards #スマートスピーカーを遊びたおす会
Demo
GOOGLE ASSISTANT
#linebootawards #スマートスピーカーを遊びたおす会
サーバーレスにしたい
課題
? コンサンプションプラン(使った分だけ動くプラン)だと
コールドスタートでタイムアウトに!?
? 一度動き始めると快適
? App Service Plan だと快適(月数千円)
HELP!!
? LINE Clova の clova-cek-sdk-nodejs は動かせませんでした…
? Function App まで処理は来るけど何もログが出ないままタイムアウトになる
azure-function-express が 3 日前にアップデートされてた!!
後で追試します!!
#linebootawards #スマートスピーカーを遊びたおす会
サーバーレスにしたい
課題
? コンサンプションプラン(使った分だけ動くプラン)だと
コールドスタートでタイムアウトに!?
? 一度動き始めると快適
? App Service Plan だと快適(月数千円)
HELP!!
? LINE Clova の clova-cek-sdk-nodejs は動かせませんでした…
? Function App まで処理は来るけど何もログが出ないままタイムアウトになる
azure-function-express が 3 日前にアップデートされてた!!
後で追試します!!
#linebootawards #スマートスピーカーを遊びたおす会
C# でもいいよ
起動が早いのは C# のほうが早い
? JSON を受け取って、JSON を返すだけなので何言語でもいい
? C# 用 SDK
? Clova CEK SDK C#(野良)
https://github.com/kenakamu/clova-cek-sdk-csharp
? Dialogflow
無い??
#linebootawards #スマートスピーカーを遊びたおす会
まとめ
Microsoft Azure でスマートスピーカーのバックエンドを作るなら
? Web App
? 既存コード + web.confi
? Function App
? azure-function-express + 公式 SDK or SDK は諦めて自分で JSON を処理
? JavaScript 以外に C# でも開発できるので興味があったら是非
#linebootawards #スマートスピーカーを遊びたおす会
リンク 1
Function App での開発
? CLI ツール
? https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-run-local
? 配備
? https://docs.microsoft.com/ja-jp/azure/azure-functions/deployment-zip-push
? azure-function-express
? https://www.npmjs.com/package/azure-function-express
Web App
? Node.js アプリの作成
? https://docs.microsoft.com/ja-jp/azure/app-service/app-service-web-get-started-nodejs
#linebootawards #スマートスピーカーを遊びたおす会
リンク 2
関連 Blog 記事
? Google Assistant アプリの開発のバックエンドに Azure Functions を使おう
? https://blog.okazuki.jp/entry/2018/09/03/182959
? Clova Extensions Kit のチュートリアルを Azure で動かす手順
? https://blog.okazuki.jp/entry/2018/09/05/194531
#linebootawards #スマートスピーカーを遊びたおす会
ありがとうございました!

More Related Content

スマートスピーカーのバックエンドで Azure を使う方法