次の方法で共有


チュートリアル: Azure Logic Appsと統合する関数を作成する

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 コネクタの Data セキュリティとプライバシー ポリシー」を参照してください。

Text Analytics リソースを作成する

Foundry Tools API は、個々のリソースとしてAzureで使用できます。 Text Analytics API を使用して、投稿されたツイートのセンチメントを検出します。

  1. Azure ポータルにサインインします。

  2. Azure ポータルの左上隅にある リソースの作成 を選択します。

  3. [Categories で、AI + Machine Learning

  4. [Text Analytics で、Create を選択します。

  5. Create Text Analytics 画面に次の値を入力します。

    設定 解説
    サブスクリプション Azure サブスクリプション名
    リソース グループ tweet-sentiment-tutorial という名前の新しいリソース グループを作成します 後でこのリソース グループを削除すると、このチュートリアルで作成したすべてのリソースが削除されます。
    リージョン 最も近いリージョンを選択します
    名前 ツイート感情分析アプリ
    価格階層 Free F0 を選択します
  6. [Review + create]\(レビュー + 作成\) を選択します。

  7. [作成] を選択します

  8. デプロイが完了したら、 [リソースに移動] を選択します。

Text Analytics設定を取得する

Text Analytics リソースを作成したら、いくつかの設定をコピーし、後で使用できるように保存します。

  1. [Keys and Endpoint]\(キーとエンドポイント\) を選択します。

  2. 入力ボックスの端にあるアイコンをクリックして、 [キー 1] をコピーします。

  3. その値をテキスト エディターに貼り付けます。

  4. 入力ボックスの端にあるアイコンをクリックして、 [エンドポイント] をコピーします。

  5. その値をテキスト エディターに貼り付けます。

Function App の作成

  1. 上部の検索ボックスで、「関数アプリ」を検索して選択します。

  2. [作成] を選択します

  3. 次の値を入力します。

    設定 推奨値 解説
    サブスクリプション Azure サブスクリプション名
    リソース グループ ツイートの感情分析チュートリアル このチュートリアル全体で、同じリソース グループ名を使用します。
    関数アプリ名 TweetSentimentAPI + 一意のサフィックス 関数アプリケーション名はグローバルに一意です。 有効な文字は、 (大文字と小文字の区別をしない)、、および です。
    公開 コード
    ランタイム スタック .NET 提供される関数コードは、C# で記述されています。
    バージョン 最新のバージョン番号を選択します
    リージョン 最も近いリージョンを選択します
  4. [Review + create]\(レビュー + 作成\) を選択します。

  5. [作成] を選択します

  6. デプロイが完了したら、 [リソースに移動] を選択します。

HTTP によってトリガーされる関数を作成する

  1. [関数] ウィンドウの左側のメニューで、 [関数] を選択します。

  2. 上部のメニューで [追加] を選択し、次の値を入力します。

    設定 解説
    開発環境 ポータルでの開発
    テンプレート HTTP トリガー
    新しい関数 TweetSentimentFunction これが関数の名前です。
    承認レベル 関数
  3. [追加] ボタンを選びます。

  4. [Code + Test]\(コード + テスト\) ボタンを選択します。

  5. コード エディター ウィンドウに、次のコードを貼り付けます。

    #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.");
    }
    

    センチメント スコアが関数に渡され、その値にカテゴリ名が返されます。

  6. ツール バーの [保存] ボタンを選択して、変更を保存します。

    注記

    この関数をテストするには、上部のメニューの [テストと実行] を選択します。 [入力] タブで [Body] 入力ボックスに値を入力し、[実行] を選択します。 [出力] セクションの [HTTP 応答のコンテンツ] ボックスに、 [肯定的] という値が返されていることを確認します。

次に、Azure Functions、X、Foundry Tools API と統合するロジック アプリを作成します。

ロジック アプリを作成する

  1. 上部の検索ボックスで、「ロジック アプリ」を検索して選択します。

  2. [追加] を選択します。

  3. [消費] を選択し、次の値を入力してください。

    設定 推奨値
    サブスクリプション Azure サブスクリプション名
    リソース グループ ツイートの感情分析チュートリアル
    ロジック アプリ名 ツイート感情分析アプリ
    リージョン 最も近いリージョンを選択します。可能であれば、前の手順で選択したリージョンと同じリージョンを選択します。

    その他の設定はすべて、既定値のままにしておきます。

  4. [Review + create]\(レビュー + 作成\) を選択します。

  5. [作成] を選択します

  6. デプロイが完了したら、 [リソースに移動] を選択します。

  7. [空のロジック アプリ] ボタンを選択します。

    空のロジック アプリ ボタン

  8. ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。

これで、Logic Apps デザイナーを使用してサービスとトリガーをアプリケーションに追加できるようになりました。

X に接続する

アプリが新しいツイートをポーリングできるように、X への接続を作成します。

  1. 上部の検索ボックスで「X」と検索します。

  2. X アイコンを選択します。

  3. [新しいツイートが投稿されたら]のトリガーを選択します。

  4. 接続を設定するには、次の値を入力します。

    設定
    接続名 MyXConnection
    認証の種類 既定の共有アプリケーションを使用する
  5. [サインイン] を選択します。

  6. ポップアップ ウィンドウの指示に従って、X へのサインインを完了します。

  7. 次に、 [新しいツイートが投稿されたら] ボックスで、次の値を入力します。

    設定
    検索テキスト #my-x-tutorial
    [項目を確認する頻度]: ボックスに「1」と入力し、
    ドロップダウンで [Hour]\(時間\) を選択します 異なる値を入力することもできますが、X コネクタの現在の制限事項を確認してください。
  8. ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。

次に、テキスト分析に接続し、収集されたツイートのセンチメントを検出します。

テキスト分析にセンチメント検出を追加する

  1. [新しいステップ] を選択します。

  2. 検索ボックスで Text Analytics を検索します。

  3. Text Analytics アイコンを選択します。

  4. [感情の検出] を選択し、次の値を入力します。

    設定
    接続名 テキスト分析接続
    アカウント キー 前に確保したText Analyticsアカウント キーを貼り付けます。
    サイトの URL 前に取っておいたText Analyticsエンドポイントを貼り付けます。
  5. [作成] を選択します

  6. [新しいパラメーターの追加] ボックス内をクリックし、ポップアップに表示されるドキュメントの横にあるチェック ボックスをオンにします。

  7. [documents Id - 1]\(ドキュメント ID - 1\) ボックス内をクリックして、動的なコンテンツのポップアップを開きます。

  8. [動的なコンテンツ] の検索ボックスで、「ID」を検索し、 [ツイート ID] をクリックします。

  9. [documents Text - 1]\(ドキュメント テキスト - 1\) ボックス内をクリックして、動的なコンテンツのポップアップを開きます。

  10. [動的なコンテンツ] の検索ボックスで、「テキスト」を検索し、 [ツイート テキスト] をクリックします。

  11. アクションの選択に「Text Analytics」と入力し、Detect sentiment アクションをクリックします。

  12. ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。

[感情の検出] ボックスは、次のスクリーンショットのようになります。

[感情の検出] の設定

センチメントの出力を関数エンドポイントに接続する

  1. [新しいステップ] を選択します。

  2. 検索ボックスで Azure Functions を検索します。

  3. Azure Functions アイコンを選択します。

  4. 検索ボックスで自分の関数の名前を検索します。 上記のガイダンスに従った場合、関数名は TweetSentimentAPI で始まります。

  5. 関数アイコンを選択します。

  6. TweetSentimentFunction項目を選択します。

  7. [要求本文] ボックス内をクリックし、ポップアップ ウィンドウから [感情スコア検出] 項目を選択します。

  8. ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。

条件付きステップを追加する

  1. [アクションの追加] ボタンを選択します。

  2. [制御] ボックス内をクリックし、ポップアップ ウィンドウで「制御」を検索して選択します。

  3. [条件] を選択します。

  4. [値を選択] ボックス内をクリックし、ポップアップ ウィンドウで [TweetSentimentFunctionBody] 項目名を選択します。

  5. [値の選択] ボックスに「肯定的」と入力します。

  6. ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。

電子メール通知を追加する

  1. [True] ボックスで、 [アクションの追加] ボタンを選択します。

  2. テキスト ボックスで Office 365 Outlook を検索して選択します。

  3. テキスト ボックスで、「送信」を検索し、 [電子メールの送信] を選択します。

  4. [サインイン] ボタンを選択します。

  5. ポップアップ ウィンドウの指示に従って、Office 365 Outlookへのサインインを完了します。

  6. [宛先] ボックスにメール アドレスを入力します。

  7. [件名] ボックス内をクリックし、 [TweetSentimentFunction] の下の [本文] 項目をクリックします。 [本文] 項目が一覧に表示されない場合は、 [さらに表示] リンクをクリックして、オプションの一覧を展開してください。

  8. [件名] の [本文] 項目の後に、「ツイート投稿者: 」というテキストを入力します。

  9. 「ツイート投稿者: 」というテキストの後に、ボックスをもう一度クリックし、 [新しいツイートが投稿されたら] というオプションの一覧で [ユーザー名] を選択します。

  10. [本文] ボックス内をクリックし、 [新しいツイートが投稿されたら] というオプションの一覧で [ツイート テキスト] を選択します。 [ツイート テキスト] 項目が一覧に表示されない場合は、 [もっと見る] リンクをクリックして、オプションの一覧を展開してください。

  11. ツール バーの [保存] ボタンを選択して、ここまでの作業を保存します。

これで、メール ボックスは、このスクリーンショットのようになります。

電子メール通知

ワークフローを実行する

  1. X アカウントで「#my-x-tutorial を楽しんでいます」とツイートしてください。

  2. Logic Apps デザイナーに戻り、 [実行] ボタンを選択します。

  3. メールで、このワークフローからのメッセージがないかどうかを確認します。

リソースをクリーンアップする

このチュートリアルで作成したすべてのAzure サービスとアカウントをクリーンアップするには、リソース グループを削除します。

  1. 上部の検索ボックスで「リソース グループ」を検索します。

  2. [tweet-sentiment-tutorial] を選択します。

  3. [リソース グループの削除] を選択します。

  4. テキスト ボックスに「tweet-sentiment-tutorial」と入力します。

  5. [削除] ボタンを選択します。

必要に応じて、X アカウントに戻り、フィードからすべてのテスト ツイートを削除することもできます。

次のステップ

Azure Functions