アクションを実行する
トリガーとアクションからロジック アプリをビルドしたことを思い出してください。 トリガーによってワークフローが起動され、アクションによって残りの作業が行われます。 ソーシャル メディア監視アプリでは、アクションを使用して、ツイートが肯定的なものか否定的なものかをチェックしてから、データベースに行を挿入するか、メールを送信します。
このユニットでは、アクションの種類の概要を簡単に説明します。 次に、パラメーターを渡して、返される値を処理することで、ワークフローでアクションを使用する方法について説明します。 最後に、ワークフロー デザイナーを使用してアクションを追加し、その設定を構成する方法について説明します。
アクションの種類
Azure Logic Apps の主要な目標は、サービスとシステムを連携できるようにすることです。 この目標をサポートするために、Azure Logic Apps には、次のタスクを行うためのアクションが用意されています。
- 外部サービスとシステムにアクセスする。
- データまたは返されたデータを処理または操作する。
- アプリの制御フローを変更する。
それでは、各アクションの種類を調べてみましょう。
外部サービスとシステムにアクセスする
最も一般的なアクションの種類は、Azure Logic Apps のワークフローの外部にあるサービスとシステムを使用して特定のタスクにアクセスし、実行するのに役立ちます。 これらのアクションは非常に一般的であるため、Azure Logic Apps を参照するときに "アクション" という用語を使用する場合、ほとんどの人はこのアクションの種類を意味します。 このアクションの種類を使用すると、他の Azure サービス、Microsoft のサービスと製品、Salesforce、Oracle、Dropbox、GitHub、Facebook、Twilio、Slack、Jira などの数百の製品にアクセスできます。 次の図は、このようなアクションのほんの一部を示しています。
アクションを使用してワークフローから外部サービスまたはシステムに接続する場合、通常、接続と認証の情報を指定します。 この情報には、ユーザー名、パスワード、接続文字列、またはアカウント キーなどを含めることができます。 詳細は、サービスまたはシステムごとに異なります。
たとえば、Azure AI サービスへの接続を作成するには、要求を送信する場所をワークフローが認識できるようにサイトの URL を指定します。 アカウント キーを指定して、サービスへのアクセスを承認します。 どちらの値も Azure AI サービス アカウントから取得できます。 通常、センチメント アクションをワークフローに追加するときに、これらの値を接続情報ボックスにコピーします。
このアクションの種類は、ワークフローで、処理のためにデータを送信したり、ワークフローにデータをプルしたりするのに役立ちます。 しかし、ワークフロー内では、そのデータを実際にどのように使用するのでしょうか? 次のアクションの種類は、このタスクに役立ちます。
データを操作する
このアクションの種類は、ワークフローにプルしたデータの操作や処理に役立ちます。 たとえば、複数の値を 1 つの文字列に連結できるアクション、JSON データを解析できるアクション、配列から特定の値を選択できるアクションなどがあります。
例を見てみましょう。 X を使用したことがあれば、特定のツイートにリンクするための URL パターンをよくご存じでしょう。
https://twitter.com/<username>/status/<id>
このリンクの種類をソーシャル メディア監視アプリで使用できます。 たとえば、後でツイートにアクセスできるように、URL リンクをデータベースに格納できます。 また、同僚がツイートを元の形式で確認できるように、URL リンクをメールに含めることもできます。
残念ながら、X トリガーから返されるデータには、完全な URL リンクは含まれていません。 ただし、データの TweetedBy プロパティにはユーザー名、TweetId プロパティには ID が含まれています。 Compose アクションを使用して、これらの部分を URL に結合できます。 概念上、操作の論理形式は次のようになります。
Compose: "https://twitter.com/" + [TweetedBy] + "/status/" + [TweetId]
制御フローを変更する
このアクションの種類は、条件付きステートメントやループなどのコンストラクトを使用して、ロジック アプリ全体のデータ フローを管理するのに役立ちます。 ソーシャル メディア監視アプリでは、ツイートのセンチメントが肯定的か否定的かに基づいて決定分岐を作成するコントロール アクションを使用します。 このアクションの種類のしくみとすべてのコントロール アクションについては、このモジュールで後ほど説明します。
アクション パラメーターと戻り値
アクション操作は、"パラメーター" と"戻り値" を持つ関数呼び出しと考えてください。 アクション パラメーターを使用すると、値を操作に渡すことができます。 一部の操作では、必須パラメーターと省略可能なパラメーターの両方が使用されます。 たとえば、センチメントという Azure AI サービス アクションには、Text という必須パラメーターがあります。 このパラメーターは、分析する文字列を表します。 センチメント アクションには、Languageという名前の省略可能なパラメーターもあります。これを使用すると、Text パラメーターに使用される言語に関するヒントを提供できます。
アクションの戻り値は、操作の結果です。 たとえば、センチメント アクションでは、0
から 1
までの数値スコアが返されます。 1
に近いスコアは肯定的なセンチメントを示し、0
に近いスコアは否定的なセンチメントを示します。 次の図は、ソーシャル メディア監視アプリの例で使用されるセンチメント アクションのデータ フローの概要を示しています。
静的パラメーターと動的パラメーター
アクションに送信するパラメーターの中には、ワークフローを実行するたびに変わらないものがあります。 たとえば、英語でのツイートのみが必要な場合、常に Language パラメーターとして en
を をセンチメント アクションに渡します。 この種類の静的パラメーターは簡単に使用できます。 アクションを設定するときに値をハードコーディングすると、アクションでは、実行されるたびにその値が使用されます。
アクションに送信する他のパラメーターは、ワークフローを実行するたびに異なる可能性があります。 わかりやすい例としては、センチメント アクションの Text パラメーターがあります。 ツイート テキストを Text パラメーターに渡す場合、テキストは、実行するたびに異なる可能性があります。 では、この動的な値にアクセスするにはどうすればよいでしょうか?
処理しているツイートは、新しいツイートが投稿されたとき トリガーの戻り値または出力です。 このツイート データは、ツイートの詳細を含む複数のフィールドを含むオブジェクトにパッケージ化されます。 Azure Logic Apps を使用すると、このオブジェクトをワークフロー内の後続のアクションで自動的に使用できるようになります。 ワークフロー デザイナーでは、ワークフローのアクションを簡単に追加したり、構成したりするための視覚的な方法が提供されます。 デザイナーは、ワークフロー内の前のトリガーおよびアクションの使用可能な出力から、使用する出力を選択するのにも役立ちます。
デザイナーを使用してアクションを追加して構成する
ワークフロー デザイナーには、ワークフローで使用できるトリガーとアクションを含むコネクタ ギャラリーが表示されます。 関心のあるコネクタを見つけるには、通常、検索ボックスを使用します。 次に、コネクタによって提供されるアクションを確認します。 次のスクリーンショットは、選択するコネクタとアクションがワークフロー デザイナーにどのように表示されるかを示しています。
アクションは、ワークフローの最後、または既存のステップ間に追加できます。 アクションを追加したら、デザイナーを使用して構成パラメーターを設定します。 この場合も、デザイナーでは、アクションのパラメーター値を入力するための視覚的な方法が提供されます。
静的パラメーター値は手動で追加できますが、動的パラメーター値を入力する場合は、デザイナーに別の方法が用意されています。 編集ボックス内で選択すると、デザイナーによって動的コンテンツ リストが開かれます。これには、前のステップの使用可能なデータまたは出力がすべて表示されます。 必要なデータを選択すると、デザイナーによって、アクションの編集ボックスに、選択した内容が自動的に設定されます。 次のスクリーンショットは、デザイナーに表示されたソーシャル メディア監視ロジック アプリからの動的なツイート データを示しています。
ワークフロー デザイナーを使用すると、動的コンテンツを簡単に追加できます。パラメーター名や戻り値を覚えてお必要も、構文の詳細について心配する必要もあります。