Azure Logic Apps のしくみ

完了

Azure Logic Apps の基礎を学んだので、次はバックグラウンドでの動作を見てみましょう。 この情報は、Azure Logic Apps をカスタマイズせずに使用できるかどうかを判断する際に役に立つはずです。 そのため、カスタム コンポーネントの作成が必要なケースでは、その難易度を判断できるようになります。

コネクタとは

"コネクタ" は、外部サービスへのインターフェイスを提供するコンポーネントです。 たとえば、Twitter コネクタを使うとツイートを送信および取得でき、Office 365 Outlook コネクタを使うとメール、予定表、連絡先を管理できます。 Azure Logic Apps では、アプリの作成に使用できる何百もの事前構築済みコネクタが用意されています。

コネクタは、外部サービスの REST または SOAP API を使って操作を実行します。 ロジック アプリ ワークフローでコネクタを使用すると、サービスの基になる API がコネクタによって自動的に呼び出されます。 次の図は、Twitter コネクタと、そこで使われている Twitter REST API を表しています。

Diagram shows the Twitter connector calling methods in the Twitter API.

カスタム コネクタ

カスタム コネクタを記述して、事前構築済みのコネクタがないサービスにアクセスすることができます。 これらのサービスには、REST または SOAP API が必要です。 コネクタは基本的に、その基になる API のラッパーであるため、サービスで API を提供するという要件は一般的なものにしてください。

カスタム コネクタを作成するには、まず、API の OpenAPI または Postman の記述を生成します。 次に、その API の記述を使って、Azure portal でカスタム コネクタ リソースを作成します。 コネクタには、名前、アイコン、および各操作の説明を付けることができます。 このプロセスの例を次の図に示します。 コーディングが行われていないことに気付くでしょう。

Diagram shows the steps required to create a custom connector to a service that has an existing REST API.

作成した新しいコネクタを自分のアプリで使用し、それを組織内の他のユーザーと共有することができます。 認定を受けるために Microsoft にコネクタを提出することもできます。 コネクタが認定されると、すべてのユーザーが利用できるコネクタのセットに追加されます。

トリガーとアクションとは

ワークフローは、さまざまな種類のタスクから構築されます。 たとえば、このソーシャル メディア監視シナリオでは、新しいツイートが投稿されたときにワークフローが開始されます。 その後、ワークフローによってセンチメントが分析され、センチメント スコアに基づいて決定が行われます。 Azure Logic Apps では、用語 "トリガー"、"アクション"、"コントロール アクション" を使用して、これらの概念を表します。 これらの操作は Azure Logic Apps を構成する要素です。 次の図は、ソーシャル メディア監視アプリでそれぞれのステップがどのように使用されているかを示しています。

Diagram shows flowchart for shoe company social media monitoring process. Each step is labeled as a trigger, action, or control action.

トリガーとアクションの定義をより具体的に見ていきましょう。

  • "トリガー" は、特定の条件のセットが満たされたときに発生するイベントです。 トリガーは、条件が満たされたときに自動的にアクティブ化されます。 たとえば、タイマーが期限切れなったときや、データが利用可能になったときなどです。

  • "アクション" は、ビジネス プロセスのタスクを実行する操作です。 アクションは、トリガーがアクティブ化したとき、または別のアクションが完了したときに実行されます。

コネクタは、関連するトリガーとアクションのコンテナーです。 いくつか例を見てみましょう。

Twitter コネクタにより、ロジック アプリ ワークフローと Twitter の対話が可能になります。 ソーシャル メディア監視アプリでは、Twitter コネクタからのトリガーを使用して、関連する新しいツイートが利用可能になったタイミングを特定します。 次の図は、Twitter コネクタとそのトリガーおよびアクションを示しています。

Diagram shows the Twitter connector with a trigger that notifies you about new tweets and with actions that can send tweets and manage your account.

次は Dropbox コネクタです。 少人数のプロジェクト チームで作業を行い、その共有データを Dropbox に保存しているとします。 誰かがいずれかのファイルを変更したことを検出して、他のチーム メンバーに通知を送信するワークフローを構築できます。 次の図は、Dropbox コネクタとそのトリガーおよびアクションを示しています。

Diagram shows the Dropbox connector with triggers that notify you when files are created or modified and with actions to manage files.

最後に、Twilio コネクタを見てみましょう。 ほとんどのコネクタではトリガーとアクションの両方が提供されますが、このコネクタにはアクションしかありません。 Twilio コネクタは、通知のテキスト メッセージを送信するのに適しています。 たとえば、Dropbox のシナリオで Twiliio コネクタを使用して、共有ファイルが変更されたときにチーム メンバーにメッセージを送信できます。 次の図は、Twilio コネクタとそのアクションを示しています。

Diagram shows the Twilio connector with actions that send and retrieve text messages, but no triggers.

ワークフローをトリガーとアクションから構築する方法

ワークフローを構築するには、操作 (具体的にはトリガーとアクション) を選択します。 ワークフローは、トリガーから始める必要があります。 トリガーの後に、ワークフローを実装するために必要な数のアクションを続けることができます。 次の図は、ソーシャル メディア監視アプリで使用するトリガーとアクションを示しています。

Diagram shows the trigger and actions in the social media monitoring app. Each operation shows the associated external service.

図は、ソーシャル メディア監視ロジック アプリのトリガーとアクションを示しています。 図は、"新しいツイートが投稿されたとき" という名前の Twitter トリガーを示しています。これにより、ロジック アプリ ワークフローが起動されます。 トリガーの後に次の 3 つのアクションが続きます。Text Analytics サービスの "センチメントの検出"、SQL Server の "行の挿入"、および Outlook.com の "電子メールの送信"。

トリガーとアクションの連携のしくみ

トリガーとアクションは基本的に、基になる API 操作への関数呼び出しです。 各操作に入力と出力があります。 たとえば、新しいツイートが投稿されたときという名前の Twitter トリガーでは、検索文字列を受け取り、その文字列を含むツイートが返されます。 センチメントの検出 という名前の Text Analytics アクションは、入力として文字列を受け取り、センチメント スコアを浮動小数点数で返します。 次の図は、これら 2 つの操作を示しています。

Diagram shows the input and output for the

Azure Logic Apps では、残りの操作で戻り値が自動的に使用できるようになります。 この機能により、ある操作の結果を次の操作への入力として渡すことができます。 次の図は、ソーシャル メディア監視アプリの最初の 2 つの操作のデータ フローを示しています。

操作の結果または出力は、以降のすべてのステップで使用できます。

Diagram shows how the results of all preceding operations are available to all later steps of the logic app.

コントロール アクションとは

ほとんどのワークフローでは、処理されるデータに応じて異なるアクションを実行する必要があります。 たとえば、ワークフローで、経費報告書を金額に応じて異なる管理者にルーティングするとします。 ソーシャル メディア監視アプリでは、ツイートのセンチメント スコアに基づいてワークフローを分岐させる必要があります。 次の図は、ソーシャル メディア監視アプリのフローチャートを示しており、コントロール ロジックが強調表示されています。

Diagram shows the social media monitoring app branches that are based on tweet sentiment.

"コントロール アクション" は Azure Logic Apps に組み込まれた特別なアクションであり、次のコントロール コンストラクトを提供します。

  • ブール式によって制御される Condition ステートメント。
  • Switch ステートメント。
  • For eachuntil ループ。
  • 条件なしの branch 指示。

次の図は、ソーシャル メディア監視アプリでの condition ステートメントの使用を示しています。

Diagram shows the social media monitoring workflow with the built-in control action that chooses branches, based on tweet sentiment.

ワークフロー デザイナーとは

ワークフロー デザイナーは、ワークフローを作成するためのグラフィカル ツールです。 デザイナーは、トリガーとアクションをワークフローに追加するためのキャンバス サーフェスを提供します。 たとえば、ソーシャル メディア監視アプリでは、新しいツイートが投稿されたときという名前のトリガー、"条件" と呼ばれるコントロール アクション、センチメントの検出行の挿入メールの送信という名前のアクションを使用します。 次のスクリーンショットは、デザイナー内のソーシャル メディア監視ワークフローを示しています。

Screenshot shows the social media monitoring app in the workflow designer.

デザイナー内のワークフロー例を示すスクリーンショット。 各ステップは、開始トリガーと各アクションの四角形として表されています。 四角形をつなぐ矢印は、アプリでの実行フローを表しています。