Azure FunctionsはLogic Apps DesignerでAzure Logic Appsと統合されます。 この統合により、他のAzureやサードパーティのサービスとのオーケストレーションで Functions のコンピューティング能力を使用できます。
このチュートリアルでは、X アクティビティを分析するワークフローを作成する方法について説明します。 ツイートが評価された後、肯定的なセンチメントが検出されると、ワークフローによって通知が送信されます。
このチュートリアルで学習する内容は次のとおりです。
- Foundry Tools API リソースを作成します。
- ツイートの感情を分類する関数を作成します。
- X に接続するロジック アプリを作成します。
- 感情の検出をロジック アプリに追加します。
- ロジック アプリを関数に接続します。
- 関数からの応答に基づいて電子メールを送信します。
前提条件
- アクティブな X アカウント。
- Outlook.com アカウント (通知の送信用)。
注記
Gmail コネクタの使用を希望する場合、ロジック アプリで制限なしにこのコネクタを使用できるのは、G-Suite ビジネス アカウントだけです。 Gmail コンシューマー アカウントをお持ちの場合は、特定の Google が承認したアプリとサービスでのみ Gmail コネクタを使用することも、 Gmail コネクタの認証に使用する Google クライアント アプリを作成することもできます。
詳細については、「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 という名前の新しいリソース グループを作成する 後でこのリソース グループを削除すると、このチュートリアルで作成したすべてのリソースが削除されます。 リージョン 最も近いリージョンを選択します 名前 TweetSentimentApp 価格階層 [無料 F0] を選択する [Review + create](レビュー + 作成) を選択します。
を選択してを作成します。
デプロイが完了したら、[ リソースに移動] を選択します。
Text Analytics設定を取得する
Text Analytics リソースを作成したら、いくつかの設定をコピーし、後で使用できるように保存します。
[キーとエンドポイント] を選択します。
入力ボックスの末尾にあるアイコンをクリックして、 キー 1 をコピーします。
その値をテキスト エディターに貼り付けます。
入力ボックスの末尾にあるアイコンをクリックして、 エンドポイント をコピーします。
その値をテキスト エディターに貼り付けます。
Function App の作成
上部の検索ボックスで、 関数アプリを検索して選択します。
を選択してを作成します。
次の値を入力します。
設定 推奨値 解説 サブスクリプション Azure サブスクリプション名 リソース グループ tweet-sentiment-tutorial このチュートリアル全体で、同じリソース グループ名を使用します。 関数アプリ名 TweetSentimentAPI + 一意のサフィックス 関数アプリケーション名はグローバルに一意です。 有効な文字は、 a-z(大文字と小文字の区別をしない)、0-9、および-です。公開 コード ランタイム スタック .NET 提供される関数コードは、C# で記述されています。 バージョン 最新のバージョン番号を選択します リージョン 最も近いリージョンを選択します [Review + create](レビュー + 作成) を選択します。
を選択してを作成します。
デプロイが完了したら、[ リソースに移動] を選択します。
HTTP によってトリガーされる関数を作成する
[ 関数 ] ウィンドウの左側のメニューで、[ 関数] を選択します。
上部のメニューから [ 追加] を選択し、次の値を入力します。
設定 値 解説 開発環境 ポータルでの開発 テンプレート HTTP トリガー 新しい関数 TweetSentimentFunction これが関数の名前です。 承認レベル Function [追加] ボタンを選びます。
[ コード + テスト ] ボタンを選択します。
コード エディター ウィンドウに、次のコードを貼り付けます。
#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."); }センチメント スコアが関数に渡され、その値にカテゴリ名が返されます。
ツール バーの [保存] ボタンを選択して変更を保存します。
注記
関数をテストするには、上部のメニューから [テスト/実行 ] を選択します。 [入力] タブの [
0.9] 入力ボックスにの値を入力し、[実行] を選択します。 [出力] セクションの [HTTP 応答コンテンツ] ボックスに正の値が返されることを確認します。
次に、Azure Functions、X、Foundry Tools API と統合するロジック アプリを作成します。
ロジック アプリを作成する
上部の検索ボックスで、 Logic Apps を検索して選択します。
[] を選択し、[] を追加します。
従量課金を選択し、次の値を入力します。
設定 推奨値 サブスクリプション Azure サブスクリプション名 リソース グループ ツイート感情分析チュートリアル ロジック アプリ名 TweetSentimentApp リージョン 最も近いリージョンを選択します。可能であれば、前の手順で選択したリージョンと同じリージョンを選択します。 その他の設定はすべて、既定値のままにしておきます。
[Review + create](レビュー + 作成) を選択します。
を選択してを作成します。
デプロイが完了したら、[ リソースに移動] を選択します。
[空のロジック アプリ] ボタンを選択します。
ツール バーの [保存] ボタンを選択して、進行状況を保存します。
これで、Logic Apps デザイナーを使用してサービスとトリガーをアプリケーションに追加できるようになりました。
X に接続する
アプリが新しいツイートをポーリングできるように、X への接続を作成します。
上部の検索ボックスで X を検索します。
X アイコンを選択します。
[新しいツイートが投稿されたとき] トリガーを選択します。
接続を設定するには、次の値を入力します。
設定 値 接続名 MyXConnection 認証の種類 既定の共有アプリケーションを使用する [サインイン] を選択します。
ポップアップ ウィンドウの指示に従って、X へのサインインを完了します。
次に、[ 新しいツイートが投稿されたとき ] ボックスに次の値を入力します。
設定 値 検索テキスト #my-x-tutorial [項目を確認する頻度]: テキスト ボックスの 1、および
ドロップダウンの時間。 異なる値を入力することもできますが、X コネクタの現在の 制限事項 を必ず確認してください。ツール バーの [保存] ボタンを選択して、進行状況を保存します。
次に、テキスト分析に接続し、収集されたツイートのセンチメントを検出します。
Text Analytics のセンチメント検出を追加する
[新しいステップ] を選択します。
検索ボックスで Text Analytics を検索します。
Text Analytics アイコンを選択します。
[ 感情の検出 ] を選択し、次の値を入力します。
設定 値 接続名 TextAnalyticsConnection アカウント キー 前に確保したText Analyticsアカウント キーを貼り付けます。 サイトの URL 前に確保したText Analyticsエンドポイントを貼り付けます。 を選択してを作成します。
[ 新しいパラメーターの追加 ] ボックス内をクリックし、ポップアップに表示される ドキュメント の横にあるチェック ボックスをオンにします。
ドキュメント ID - 1 テキストボックス内をクリックして、動的なコンテンツポップアップを開きます。
動的コンテンツ検索ボックスで ID を検索し、ツイート ID をクリックします。
ドキュメントテキスト - 1テキストボックス内をクリックして、動的コンテンツポップアップを開きます。
動的コンテンツ検索ボックスでテキストを検索し、ツイートテキストをクリックします。
アクションの選択に「Text Analytics」と入力し、Detect sentiment アクションをクリックします。
ツール バーの [保存] ボタンを選択して、進行状況を保存します。
[ センチメントの検出 ] ボックスは、次のスクリーンショットのようになります。
センチメントの出力を関数エンドポイントに接続する
[新しいステップ] を選択します。
検索ボックスで Azure Functions を検索します。
Azure Functions アイコンを選択します。
検索ボックスで自分の関数の名前を検索します。 上記のガイダンスに従った場合、関数名は TweetSentimentAPI で始まります。
関数アイコンを選択します。
TweetSentimentFunction 項目を選択します。
[ 要求本文 ] ボックス内をクリックし、ポップアップ ウィンドウから [感情スコア の検出] 項目を選択します。
ツール バーの [保存] ボタンを選択して、進行状況を保存します。
条件付きステップを追加する
[ アクションの追加] ボタンを 選択します。
[コントロール] ボックス内をクリックし、ポップアップ ウィンドウで [コントロール] を検索して選択します。
[条件] を選択します。
[値の 選択 ] ボックス内をクリックし、ポップアップ ウィンドウから TweetSentimentFunctionBody アイテムを選択します。
[値の選択] ボックスに「正」と入力します。
ツール バーの [保存] ボタンを選択して、進行状況を保存します。
電子メール通知を追加する
[ True ] ボックスで、[ アクションの追加 ] ボタンを選択します。
テキスト ボックスで Office 365 Outlook を検索して選択します。
[送信] を検索し、テキスト ボックスで [メールの送信] を選択します。
[サインイン] ボタンを選択します。
ポップアップ ウィンドウの指示に従って、Office 365 Outlookへのサインインを完了します。
[ 宛先 ] ボックスにメール アドレスを入力します。
[件名] ボックス内をクリックし、[TweetSentimentFunction] の下の [本文] 項目をクリックします。 [本文] 項目が一覧に表示されない場合は、[その他を表示] リンクをクリックしてオプションの一覧を展開します。
件名の本文項目の後に、次のテキストのツイートを入力します。
[ツイートのテキスト] の後、再びボックスをクリックして、[ユーザー名] を 新しいツイートが投稿されたとき オプション一覧から選択します。
[本文] ボックス内をクリックし、[新しいツイートが投稿されたとき] オプション の一覧で [ツイート] テキストを選択します。 ツイートテキストアイテムがリストに表示されない場合は、[その他を表示] リンクをクリックしてオプションリストを展開します。
ツール バーの [保存] ボタンを選択して、進行状況を保存します。
これで、メール ボックスは、このスクリーンショットのようになります。
ワークフローを実行する
あなたのXアカウントから、次のテキストをツイートしてください: 私は #my-x-チュートリアルを楽しんでいる。
Logic Apps デザイナーに戻り、[ 実行 ] ボタンを選択します。
メールで、このワークフローからのメッセージがないかどうかを確認します。
リソースをクリーンアップする
このチュートリアルで作成したすべてのAzure サービスとアカウントをクリーンアップするには、リソース グループを削除します。
上部の検索ボックスで リソース グループ を検索します。
ツイートセンチメントチュートリアルを選択します。
[リソース グループの削除] を選択します。
テキスト ボックス に「tweet-sentiment-tutorial 」と入力します。
[ 削除 ] ボタンを選択します。
必要に応じて、X アカウントに戻り、フィードからすべてのテスト ツイートを削除することもできます。