Dノンプログラミングで楽したい
- Azure Logic Appsの話 ー
2017年1月18日
第4回 城東.NET勉強会
まずは自己紹介
・名前
木下 裕之
・HN:Kingkino
・SNS
Twitter @kingkinoko FaceBookやってます。GitとLinkedInもちょこっと・・・。
・Azure暦:6年
・MircroSoft Teams歴:3か月
・Azure Bot Service歴 : 3か月
・Azure Logic Apps歴:3か月 (2016年11月にGAしたので)
※この資料は2017年1月18日時点での情報を元に作成しています。
Azure Logic Appsとはワークフローと呼ばれる一連のプロセスをモデル化し、自動化するための仕組みです。
Azure Logic Appsの紹介
【 長 所 】
• わかりやすい設計ツールを使って複雑なプロセスを設計できるた
め、時間を節約できる
• コードでは実装が難しいパターンやワークフローをシームレスに
実装できる
• 独自のカスタム API、コード、アクションでロジック アプリをカ
スタマイズできる
• BizTalk Server、API Management、Azure Functions、Azure
Service Bus を基に作成でき、最上級の統合サポートが得られる
• Azureの監視サービスを利用できるため詳細な監査ログを取得で
きる
【 短 所 】
• フロー作成にはそれなりのリテラシーが必要となる
• 管理コストが多少必要となる
• 無料枠がないため費用が発生する
Microsoft Flowはアプリやサービスをまたぐワークフローを自動化しツール化して利用できるサービスです。
Microsoft Flowの紹介
【 長 所 】
• UIを利用して誰にでも簡単に自動化サービスを作成できる。
• 80種類以上のコネクタを利用してシームレスに他システム同士の
連携を実現できる
• 既存テンプレートを利用することで間単にフローを作成できる
• OFFICE等のMicrosoft社製製品との親和性が高い、実際に
SharePoint内でFlowを利用することができる
【 短 所 】
• LINE等の国産サービスとの連携コネクタの数が少ない
• トリガー実行タイミングの設定が出来ないためTwitterのトレンド
情報を取得しようとするとすぐに上限に達する
※Microsoft FlowはAzure Logic Apps上で動いてます
MicrosoftFlowtとLogicAppsの違いについて
Microsoft Flow Logic Apps
対象ユーザ オフィスの従業員、ビジネス ユーザー IT プロフェッショナル、開発者
シナリオ セルフサービス ミッションクリティカル
ツール ブラウザー上のUI のみ ブラウザー上のほかVisualStudioが利用可能
管理 実稼働環境でのアドホックな管理 Azureリソース管理
URL https://flow.microsoft.com https://portal.azure.com
セキュリティ 機密性の高い保存データの暗号化など
Azureのセキュリティに準拠、Security Center、監査ログの利用が
可能
価格
Free:1ユーザあたり750実行数
$5.00:1ユーザあたり4500実行数
$15.00:1ユーザあたり15000実行数
最初の 250,000 アクション:¥0.0816/1アクション
※アクション数に応じてリニアに価格が安くなる
https://flow.microsoft.com/ja-jp/pricing/ https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/
一番の差異はトリガーの実行タイミング(ポーリングタイム)を詳細に設定できるか否かです。
Logic Appsの方が上記を踏まえた設定周りの柔軟性が高いです。
どういう使い方が考えられるのかをざっと洗い出してみました。もちろん利用可能範囲は無限大です。
利用シナリオ
■ シナリオケース
• 上司からのメールを受信したらブラウザプッシュで教える
• タスクを作成するとGoogleカレンダーにイベント作成
• GitHubでissueが宛てられたらプッシュ通知しつつタスク化&Slack通知
• スプレッドシートから Salesforce 潜在顧客を作成する
• 特定条件で絞ったTweetをスプレッドシートに自動保存していく
• 上司に "今日は在宅勤務にする" というメールを送信する
• Twitterの特定タグの投稿を取得して英語に翻訳してネガポジ分析をしてGoogleスプレッドシートに出力
• Twitterの特定タグの投稿を取得してツイートに含まれる画像リンクから画像を取得してOneDriveに保存する
出展:https://flow.microsoft.com/ja-jp/templates/
これを試してみましょう
Twitterの特定タグの投稿を取得して英語に翻訳してネガポジ分析をしてGoogleスプレッドシートに出力:その1
事前準備
• Azureアカウントの作成
参考:https://satonaoki.wordpress.com/2016/02/05/vs-dev-essentials-azure/
• Twitterの登録
• Google Driveの作成とスプレッドシートの作成
参考:https://dekiru.net/article/524/
• Text Analytics APIのKEYの生成と取得
参考:https://azure.microsoft.com/ja-jp/services/cognitive-services/text-analytics/
参考(Keyの取得):https://www.microsoft.com/cognitive-services/en-US/subscriptions
Logic Appsでの手順
1. TwitterIDを登録して特定のハッシュタグのツイートを取得します。
2. TextAnalyticsのSentimentは日本語に対応していないため英語に翻訳して英語でSentimentを分析します。
3. 翻訳したツイートテキストをTextAnalyticsのSentiment分析にかけます。
4. Senetiment分析にかけたツイート情報のレスポンスをGoogleスプレッドシートに出力します。
Twitterの特定タグの投稿を取得して英語に翻訳してネガポジ分析をしてGoogleスプレッドシートに出力:その2
ブログにまとめたので続きはWebで
http://blog.kokoni.jp/2017/01/17/azure-logic-
apps%E3%81%A7twitter%E3%81%AE%E3%82%BB%E3%83%B3%E3%83%81%E3%83%A1
%E3%83%B3%E3%83%88%E5%88%86%E6%9E%90%E3%82%92%E3%81%97%E3%81%A
6%E3%81%BF%E3%81%9F/
Twitterの特定タグの投稿を取得して英語に翻訳してネガポジ分析をしてGoogleスプレッドシートに出力:おまけ
小題のフローをコーディングで作成した場合について記載しておきます。
興味があれば参考にしてみてください。実装工数差のイメージがつくと思います。
・ソーシャル メディア分析: Azure Stream Analytics での Twitter センチメントのリアルタイム分析
https://docs.microsoft.com/ja-jp/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends
・Text Analitics API DEMO
https://text-analytics-demo.azurewebsites.net/Home/SampleCode
・How to use Microsoft Translator API
https://code.msdn.microsoft.com/windowsdesktop/How-to-use-Translator-API-dba56ec3
・C#.NETでGoogle Sheets API 4を使ってSpreadSheetを読み書きしてみる
http://qiita.com/linquanstudio/items/23fca582ba6ae0d6d328
類似サービスとの比較
料金 言語 チャンネル数 エラーチェック 備考
MicrosoftFlow
無償/有償 多言語 80以上 ○
マイクロソフト社製なので同社の製品との連携の親和性は高い
エンタープライズを意識したテンプレートが多いため業務効率化
を実施しやすい
https://flow.microsoft.com/ja-jp/
myThings
無償/有償 日本語 30以上 ○
チャネル数は少ないが日本発のサービスのためニコニコ動画やヤ
フオク等の国産サービスとの連携が多いのが強み、運営会社は
YAHOO
https://mythings.yahoo.co.jp/
IFTTT(イフト)
無償 英語 300以上 ×
完全無償で利用できる連携サービス、LINE等の日本のサービスと
も連携可能、解説ページが多いのでとっつきやすい
完全無償のためサービスレベルに難あり
https://ifttt.com/discover
Zapier(ザピエル)
無償/有償 英語 500以上 ◎
チャンネル数は最多、設定内容もIFTTTより豊富なため上位互換
として扱われる。無償利用できる範囲が狭いため本格的に利用し
ようとすると有料になるケースが多い
https://zapier.com/
まとめ
Azure Logic AppsやMicrosoft Flow、その他のDIY連携サービスを利用することで業務効率をあげることが可能
です。簡単なデータ集計や通知のために、プログラミングをしてメンテナンスを考慮して実行する環境の管理を
して・・・という工数を省けることを考えれば、ノンプログラミングも悪くないと思います。
プログラミングが好きな人には物足りないかもしれませんが、企業の情報システム部門に所属する方でITに疎く
てもある程度のアプリをさくっと作成することが可能なため有用性は高いです。デベロッパーとしては利用方法
や組み合わせの提案、オリジナルのWebサービスとの連携などで活躍することができるでしょう。
最後に・・・
心の健康と人生の安らぎのため
楽できる部分で疲弊しないようにしていきましょう!!

ノンプログラミングで楽したい