Azure FunctionsはLogic Apps デザイナー内でAzure Logic Appsと統合されます。 この統合により、他のAzureやサードパーティのサービスとのオーケストレーションで Functions のコンピューティング能力を使用できます。
このチュートリアルでは、X アクティビティを分析するワークフローを作成する方法について説明します。 ツイートが評価された後、肯定的なセンチメントが検出されると、ワークフローによって通知が送信されます。
このチュートリアルで学習する内容は次のとおりです。
- Foundry Tools API リソースを作成します。
- ツイートの感情を分類する関数を作成します。
- X に接続するロジック アプリを作成します。
- 感情の検出をロジック アプリに追加します。
- ロジック アプリを関数に接続します。
- 関数からの応答に基づいて電子メールを送信します。
前提条件
- アクティブな X アカウント。
- Outlook.com アカウント (通知の送信用)。
注記
Gmail コネクタの使用を希望する場合、ロジック アプリで制限なしにこのコネクタを使用できるのは、G-Suite ビジネス アカウントだけです。 Gmail コンシューマー アカウントを持っている場合は、Google によって承認された特定のアプリおよびサービスのみで Gmail コネクタを使用できるほか、認証に使用する Google クライアント アプリを Gmail コネクタで作成することができます。
詳細については、「Azure Logic Apps の Google コネクタの
Text Analytics リソースを作成する
Foundry Tools API は、個々のリソースとしてAzureで使用できます。 Text Analytics API を使用して、投稿されたツイートのセンチメントを検出します。
Azure ポータルにサインインします。
Azure ポータルの左上隅にある リソースの作成 を選択します。
[
Categories で、AI + Machine Learning [Text Analytics で、Create を選択します。
Create Text Analytics 画面に次の値を入力します。
設定 値 解説 サブスクリプション Azure サブスクリプション名 リソース グループ tweet-sentiment-tutorial という名前の新しいリソース グループを作成します 後でこのリソース グループを削除すると、このチュートリアルで作成したすべてのリソースが削除されます。 リージョン 最も近いリージョンを選択します 名前 ツイート感情分析アプリ 価格階層 Free F0 を選択します [Review + create]\(レビュー + 作成\) を選択します。
[作成] を選択します
デプロイが完了したら、 [リソースに移動] を選択します。
Text Analytics設定を取得する
Text Analytics リソースを作成したら、いくつかの設定をコピーし、後で使用できるように保存します。
[Keys and Endpoint]\(キーとエンドポイント\) を選択します。
入力ボックスの端にあるアイコンをクリックして、 [キー 1] をコピーします。
その値をテキスト エディターに貼り付けます。
入力ボックスの端にあるアイコンをクリックして、 [エンドポイント] をコピーします。
その値をテキスト エディターに貼り付けます。
Function App の作成
上部の検索ボックスで、「関数アプリ」を検索して選択します。
[作成] を選択します
次の値を入力します。
設定 推奨値 解説 サブスクリプション Azure サブスクリプション名 リソース グループ ツイートの感情分析チュートリアル このチュートリアル全体で、同じリソース グループ名を使用します。 関数アプリ名 TweetSentimentAPI + 一意のサフィックス 関数アプリケーション名はグローバルに一意です。 有効な文字は、 (大文字と小文字の区別をしない)、、および です。 公開 コード ランタイム スタック .NET 提供される関数コードは、C# で記述されています。 バージョン 最新のバージョン番号を選択します リージョン 最も近いリージョンを選択します [Review + create]\(レビュー + 作成\) を選択します。
[作成] を選択します
デプロイが完了したら、 [リソースに移動] を選択します。
HTTP によってトリガーされる関数を作成する
[関数] ウィンドウの左側のメニューで、 [関数] を選択します。
上部のメニューで [追加] を選択し、次の値を入力します。
設定 値 解説 開発環境 ポータルでの開発 テンプレート HTTP トリガー 新しい関数 TweetSentimentFunction これが関数の名前です。 承認レベル 関数 [追加] ボタンを選びます。
[Code + Test]\(コード + テスト\) ボタンを選択します。
コード エディター ウィンドウに、次のコードを貼り付けます。
#r "Newtonsoft.Json" using System; using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { string requestBody = String.Empty; using (StreamReader streamReader = new StreamReader(req.Body)) { requestBody = await streamReader.ReadToEndAsync(); } dynamic score = JsonConvert.DeserializeObject(requestBody); string value = "Positive"; if(score < .3) { value = "Negative"; } else if (score < .6) { value = "Neutral"; } return requestBody != null ? (ActionResult)new OkObjectResult(value) : new BadRequestObjectResult("Pass a sentiment score in the request body."); }センチメント スコアが関数に渡され、その値にカテゴリ名が返されます。
ツール バーの [保存] ボタンを選択して、変更を保存します。
注記
この関数をテストするには、上部のメニューの [テストと実行] を選択します。 [入力] タブで [Body] 入力ボックスに値を入力し、[実行] を選択します。 [出力] セクションの [HTTP 応答のコンテンツ] ボックスに、 [肯定的] という値が返されていることを確認します。
次に、Azure Functions、X、Foundry Tools API と統合するロジック アプリを作成します。
ロジック アプリを作成する
上部の検索ボックスで、「ロジック アプリ」を検索して選択します。
[追加] を選択します。
[消費] を選択し、次の値を入力してください。
設定 推奨値 サブスクリプション Azure サブスクリプション名 リソース グループ ツイートの感情分析チュートリアル ロジック アプリ名 ツイート感情分析アプリ リージョン 最も近いリージョンを選択します。可能であれば、前の手順で選択したリージョンと同じリージョンを選択します。 その他の設定はすべて、既定値のままにしておきます。
[Review + create]\(レビュー + 作成\) を選択します。
[作成] を選択します
デプロイが完了したら、 [リソースに移動] を選択します。
[空のロジック アプリ] ボタンを選択します。
空のロジック アプリ ボタン
ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。
これで、Logic Apps デザイナーを使用してサービスとトリガーをアプリケーションに追加できるようになりました。
X に接続する
アプリが新しいツイートをポーリングできるように、X への接続を作成します。
上部の検索ボックスで「X」と検索します。
X アイコンを選択します。
[新しいツイートが投稿されたら]のトリガーを選択します。
接続を設定するには、次の値を入力します。
設定 値 接続名 MyXConnection 認証の種類 既定の共有アプリケーションを使用する [サインイン] を選択します。
ポップアップ ウィンドウの指示に従って、X へのサインインを完了します。
次に、 [新しいツイートが投稿されたら] ボックスで、次の値を入力します。
設定 値 検索テキスト #my-x-tutorial [項目を確認する頻度]: ボックスに「1」と入力し、
ドロップダウンで [Hour]\(時間\) を選択します 異なる値を入力することもできますが、X コネクタの現在の制限事項を確認してください。ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。
次に、テキスト分析に接続し、収集されたツイートのセンチメントを検出します。
テキスト分析にセンチメント検出を追加する
[新しいステップ] を選択します。
検索ボックスで Text Analytics を検索します。
Text Analytics アイコンを選択します。
[感情の検出] を選択し、次の値を入力します。
設定 値 接続名 テキスト分析接続 アカウント キー 前に確保したText Analyticsアカウント キーを貼り付けます。 サイトの URL 前に取っておいたText Analyticsエンドポイントを貼り付けます。 [作成] を選択します
[新しいパラメーターの追加] ボックス内をクリックし、ポップアップに表示されるドキュメントの横にあるチェック ボックスをオンにします。
[documents Id - 1]\(ドキュメント ID - 1\) ボックス内をクリックして、動的なコンテンツのポップアップを開きます。
[動的なコンテンツ] の検索ボックスで、「ID」を検索し、 [ツイート ID] をクリックします。
[documents Text - 1]\(ドキュメント テキスト - 1\) ボックス内をクリックして、動的なコンテンツのポップアップを開きます。
[動的なコンテンツ] の検索ボックスで、「テキスト」を検索し、 [ツイート テキスト] をクリックします。
アクションの選択に「Text Analytics」と入力し、Detect sentiment アクションをクリックします。
ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。
[感情の検出] ボックスは、次のスクリーンショットのようになります。
[感情の検出] の設定
センチメントの出力を関数エンドポイントに接続する
[新しいステップ] を選択します。
検索ボックスで Azure Functions を検索します。
Azure Functions アイコンを選択します。
検索ボックスで自分の関数の名前を検索します。 上記のガイダンスに従った場合、関数名は TweetSentimentAPI で始まります。
関数アイコンを選択します。
TweetSentimentFunction項目を選択します。
[要求本文] ボックス内をクリックし、ポップアップ ウィンドウから [感情スコア検出] 項目を選択します。
ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。
条件付きステップを追加する
[アクションの追加] ボタンを選択します。
[制御] ボックス内をクリックし、ポップアップ ウィンドウで「制御」を検索して選択します。
[条件] を選択します。
[値を選択] ボックス内をクリックし、ポップアップ ウィンドウで [TweetSentimentFunctionBody] 項目名を選択します。
[値の選択] ボックスに「肯定的」と入力します。
ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。
電子メール通知を追加する
[True] ボックスで、 [アクションの追加] ボタンを選択します。
テキスト ボックスで Office 365 Outlook を検索して選択します。
テキスト ボックスで、「送信」を検索し、 [電子メールの送信] を選択します。
[サインイン] ボタンを選択します。
ポップアップ ウィンドウの指示に従って、Office 365 Outlookへのサインインを完了します。
[宛先] ボックスにメール アドレスを入力します。
[件名] ボックス内をクリックし、 [TweetSentimentFunction] の下の [本文] 項目をクリックします。 [本文] 項目が一覧に表示されない場合は、 [さらに表示] リンクをクリックして、オプションの一覧を展開してください。
[件名] の [本文] 項目の後に、「ツイート投稿者: 」というテキストを入力します。
「ツイート投稿者: 」というテキストの後に、ボックスをもう一度クリックし、 [新しいツイートが投稿されたら] というオプションの一覧で [ユーザー名] を選択します。
[本文] ボックス内をクリックし、 [新しいツイートが投稿されたら] というオプションの一覧で [ツイート テキスト] を選択します。 [ツイート テキスト] 項目が一覧に表示されない場合は、 [もっと見る] リンクをクリックして、オプションの一覧を展開してください。
ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。
これで、メール ボックスは、このスクリーンショットのようになります。
電子メール通知
ワークフローを実行する
X アカウントで「#my-x-tutorial を楽しんでいます」とツイートしてください。
Logic Apps デザイナーに戻り、 [実行] ボタンを選択します。
メールで、このワークフローからのメッセージがないかどうかを確認します。
リソースをクリーンアップする
このチュートリアルで作成したすべてのAzure サービスとアカウントをクリーンアップするには、リソース グループを削除します。
上部の検索ボックスで「リソース グループ」を検索します。
[tweet-sentiment-tutorial] を選択します。
[リソース グループの削除] を選択します。
テキスト ボックスに「tweet-sentiment-tutorial」と入力します。
[削除] ボタンを選択します。
必要に応じて、X アカウントに戻り、フィードからすべてのテスト ツイートを削除することもできます。