次の方法で共有


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

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 コネクタの 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 という名前の新しいリソース グループを作成する 後でこのリソース グループを削除すると、このチュートリアルで作成したすべてのリソースが削除されます。
    リージョン 最も近いリージョンを選択します
    名前 TweetSentimentApp
    価格階層 [無料 F0] を選択する
  6. [Review + create](レビュー + 作成) を選択します。

  7. を選択してを作成します。

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

Text Analytics設定を取得する

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

  1. [キーとエンドポイント] を選択します

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

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

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

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

Function App の作成

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

  2. を選択してを作成します。

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

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

  5. を選択してを作成します。

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

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

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

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

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

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

  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. ツール バーの [保存] ボタンを選択して変更を保存します。

    注記

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

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

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

  1. 上部の検索ボックスで、 Logic Apps を検索して選択します。

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

  3. 従量課金を選択し、次の値を入力します。

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

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

  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、および
    ドロップダウンの時間。 異なる値を入力することもできますが、X コネクタの現在の 制限事項 を必ず確認してください。
  8. ツール バーの [保存] ボタンを選択して、進行状況を保存します。

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

Text Analytics のセンチメント検出を追加する

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

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

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

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

    設定
    接続名 TextAnalyticsConnection
    アカウント キー 前に確保したText Analyticsアカウント キーを貼り付けます。
    サイトの URL 前に確保したText Analyticsエンドポイントを貼り付けます。
  5. を選択してを作成します。

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

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

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

  9. ドキュメントテキスト - 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-チュートリアルを楽しんでいる。

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

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

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

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

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

  2. ツイートセンチメントチュートリアルを選択します

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

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

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

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

次のステップ

Azure Functions