Azure Logic Apps で HTTP Webhook を使用してイベントベースのタスクとワークフローを自動化するAutomate event-based tasks and workflows by using HTTP webhooks in Azure Logic Apps

Azure Logic Apps と組み込み HTTP Webhook コネクタを使用すると、ロジック アプリを構築することで、HTTP または HTTPS エンドポイントで発生する特定のイベントに基づいて待機したり実行されたりするワークフローを自動化できます。With Azure Logic Apps and the built-in HTTP Webhook connector, you can automate workflows that wait and run based on specific events that happen at an HTTP or HTTPS endpoint by building logic apps. たとえば、定期的にサービス エンドポイントを確認、つまり "ポーリング" するのではなく、特定のイベントを待ってからワークフローをトリガーし、指定されたアクションを実行することでそのエンドポイントを監視するロジック アプリを作成できます。For example, you can create a logic app that monitors a service endpoint by waiting for a specific event before triggering the workflow and running the specified actions, rather than regularly checking or polling that endpoint.

イベントベースのワークフローの例を次に示します。Here are some example event-based workflows:

  • Azure イベント ハブからアイテムが到着するのを待ってからロジック アプリの実行をトリガーする。Wait for an item to arrive from an Azure Event Hub before triggering a logic app run.
  • 承認を待ってからワークフローを続行する。Wait for an approval before continuing a workflow.

Webhook のしくみHow do webhooks work?

HTTP Webhook トリガーは、イベントに基づいており、新しい項目の定期的な確認 (ポーリング) に依存しません。An HTTP webhook trigger is event-based, which doesn't depend on checking or polling regularly for new items. Webhook トリガーで開始するロジック アプリを保存したり、ロジック アプリを無効から有効に変更したりすると、Webhook トリガーは、特定のサービスまたはエンドポイントに "コールバック URL" を登録して、そのサービスまたはエンドポイントを "サブスクライブ" します。When you save a logic app that starts with a webhook trigger, or when you change your logic app from disabled to enabled, the webhook trigger subscribes to a specific service or endpoint by registering a callback URL with that service or endpoint. その後、このトリガーは、そのサービスまたはエンドポイントが URL を呼び出すまで待ち、その結果、ロジック アプリの実行が開始されます。The trigger then waits for that service or endpoint to call the URL, which starts running the logic app. 要求トリガーと同様に、ロジック アプリは、指定されたイベントが発生するとすぐに起動します。Similar to the Request trigger, the logic app fires immediately when the specified event happens. トリガーを削除してロジック アプリを保存したり、ロジック アプリを有効から無効に変更したりすると、トリガーはサービスまたはエンドポイントから "サブスクライブを解除" します。The trigger unsubscribes from the service or endpoint if you remove the trigger and save your logic app, or when you change your logic app from enabled to disabled.

HTTP Webhook アクションもイベントに基づいており、特定のサービスまたはエンドポイントに "コールバック URL" を登録することで、そのサービスまたはエンドポイントを "サブスクライブ" します。An HTTP webhook action is also event-based and subscribes to a specific service or endpoint by registering a callback URL with that service or endpoint. Webhook アクションがロジック アプリのワークフローを一時停止し、サービスまたはエンドポイントが URL を呼び出すまで待った後、ロジック アプリの実行が再開されます。The webhook action pauses the logic app's workflow and waits until the service or endpoint calls the URL before the logic app resumes running. 次のような場合、アクション ロジック アプリはサービスまたはエンドポイントから "サブスクライブを解除" します。The action logic app unsubscribes from the service or endpoint in these cases:

  • Webhook アクションが正常に終了したときWhen the webhook action successfully finishes
  • 応答を待機しているときにロジック アプリの実行がキャンセルされた場合If the logic app run is canceled while waiting for a response
  • ロジック アプリがタイムアウトになる前Before the logic app times out

たとえば、Office 365 Outlook コネクタの承認メールの送信アクションは、このパターンに従う Webhook アクションの一例です。For example, the Office 365 Outlook connector's Send approval email action is an example of webhook action that follows this pattern. Webhook アクションを使用することで、このパターンをあらゆるサービスに適用できます。You can extend this pattern into any service by using the webhook action.

詳細については、以下のトピックを参照してください。For more information, see these topics:

前提条件Prerequisites

HTTP Webhook トリガーの追加Add an HTTP Webhook trigger

この組み込みトリガーは、指定されたサービスにコールバック URL を登録し、そのサービスがその URL に対して HTTP POST 要求を送信するのを待ちます。This built-in trigger registers a callback URL with the specified service and waits for that service to send an HTTP POST request to that URL. このイベントが発生すると、トリガーが起動してすぐにロジック アプリを実行します。When this event happens, the trigger fires and immediately runs the logic app.

  1. Azure Portal にサインインします。Sign in to the Azure portal. ロジック アプリ デザイナーで空のロジック アプリを開きます。Open your blank logic app in Logic App Designer.

  2. デザイナーの検索ボックスに、フィルターとして「http webhook」と入力します。On the designer, in the search box, enter "http webhook" as your filter. [トリガー] の一覧から、 [HTTP Webhook] トリガーを選択します。From the Triggers list, select the HTTP Webhook trigger.

    HTTP Webhook トリガーを選択する

    この例では、このステップの名前がよりわかりやすくなるように、トリガー名を "HTTP Webhook trigger" に変更します。This example renames the trigger to "HTTP Webhook trigger" so that the step has a more descriptive name. また、この例では後で HTTP Webhook アクションを追加します。どちらの名前も一意である必要があります。Also, the example later adds an HTTP Webhook action, and both names must be unique.

  3. サブスクライブおよびサブスクライブ解除の呼び出しに使用する HTTP Webhook トリガー パラメーターの値を指定します。次に例を示します。Provide the values for the HTTP Webhook trigger parameters that you want to use for the subscribe and unsubscribe calls, for example:

    HTTP Webhook トリガー パラメーターを入力する

  4. その他の使用可能なパラメーターを追加するには、 [新しいパラメーターの追加] リストを開き、必要なパラメーターを選択します。To add other available parameters, open the Add new parameter list, and select the parameters that you want.

    HTTP Webhook に使用できる認証の種類の詳細については、「HTTP トリガーとアクションを認証する」を参照してください。For more information about authentication types available for HTTP Webhook, see Authenticate HTTP triggers and actions.

  5. トリガーが起動したときに実行されるアクションを使用して、ロジック アプリのワークフローを引き続き構築します。Continue building your logic app's workflow with actions that run when the trigger fires.

  6. 完了したら、忘れずに対象のロジック アプリを保存してください。When you're finished, done, remember to save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

    ロジック アプリを保存すると、サブスクライブ エンドポイントが呼び出され、このロジック アプリをトリガーするためのコールバック URL が登録されます。Saving your logic app calls the subscribe endpoint and registers the callback URL for triggering this logic app.

  7. これで、ターゲット サービスがコールバック URL に HTTP POST 要求を送信するたびに、ロジック アプリが起動し、要求を通じて渡されたすべてのデータが取得されます。Now, whenever the target service sends an HTTP POST request to the callback URL, the logic app fires, and includes any data that is passed through the request.

HTTP Webhook アクションの追加Add an HTTP Webhook action

この組み込みアクションは、指定されたサービスにコールバック URL を登録し、ロジック アプリのワークフローを一時停止して、そのサービスがその URL に HTTP POST 要求を送信するのを待ちます。This built-in action registers a callback URL with the specified service, pauses the logic app's workflow, and waits for that service to send an HTTP POST request to that URL. このイベントが発生すると、アクションはロジック アプリの実行を再開します。When this event happens, the action resumes running the logic app.

  1. Azure Portal にサインインします。Sign in to the Azure portal. ロジック アプリ デザイナーでロジック アプリを開きます。Open your logic app in Logic App Designer.

    この例では、最初のステップとして HTTP Webhook トリガーを使用しています。This example uses the HTTP Webhook trigger as the first step.

  2. HTTP Webhook アクションを追加するステップで、 [新しいステップ] を選択します。Under the step where you want to add the HTTP Webhook action, select New step.

    ステップの間にアクションを追加するには、ステップ間の矢印の上にポインターを移動します。To add an action between steps, move your pointer over the arrow between steps. 表示されるプラス記号 ( + ) を選択してから、 [アクションの追加] を選択します。Select the plus sign (+) that appears, and then select Add an action.

  3. デザイナーの検索ボックスに、フィルターとして「http webhook」と入力します。On the designer, in the search box, enter "http webhook" as your filter. [アクション] の一覧で、 [HTTP Webhook] アクションを選択します。From the Actions list, select the HTTP Webhook action.

    HTTP Webhook アクションを選択する

    この例では、このステップの名前がわかりやすくなるように、アクション名を "HTTP Webhook action" に変更します。This example renames the action to "HTTP Webhook action" so that the step has a more descriptive name.

  4. HTTP Webhook アクション パラメーターの値を指定します。これは、サブスクライブおよびサブスクライブ解除の呼び出しに使用する HTTP Webhook トリガー パラメーターに似ています。次に例を示します。Provide the values for the HTTP Webhook action parameters, which are similar to the HTTP Webhook trigger parameters that you want to use for the subscribe and unsubscribe calls, for example:

    HTTP Webhook アクション パラメーターを入力する

    実行中、ロジック アプリは、このアクションを実行するときにサブスクライブ エンドポイントを呼び出します。During runtime, the logic app calls the subscribe endpoint when running this action. その後、ロジック アプリは、ワークフローを一時停止して、ターゲット サービスがコールバック URL に HTTP POST 要求を送信するのを待ちます。Your logic app then pauses the workflow and waits for the target service to send an HTTP POST request to the callback URL. そのアクションが正常に完了すると、そのアクションはエンドポイントからサブスクライブが解除され、対象のロジック アプリがワークフローの実行を再開します。If the action completes successfully, the action unsubscribes from the endpoint, and your logic app resumes running the workflow.

  5. その他の使用可能なパラメーターを追加するには、 [新しいパラメーターの追加] リストを開き、必要なパラメーターを選択します。To add other available parameters, open the Add new parameter list, and select the parameters that you want.

    HTTP Webhook に使用できる認証の種類の詳細については、「HTTP トリガーとアクションを認証する」を参照してください。For more information about authentication types available for HTTP Webhook, see Authenticate HTTP triggers and actions.

  6. 完了したら、忘れずに対象のロジック アプリを保存してください。When you're finished, remember to save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

コネクタのレファレンスConnector reference

互いに類似するトリガーおよびアクション パラメーターの詳細については、HTTP Webhook のパラメーターに関するページを参照してください。For more information about trigger and action parameters, which are similar to each other, see HTTP Webhook parameters.

出力の詳細Output details

ここでは、以下の情報を返す HTTP Webhook トリガーまたはアクションからの出力の詳細情報を示します。Here is more information about the outputs from an HTTP Webhook trigger or action, which returns this information:

プロパティ名Property name TypeType 説明Description
headersheaders objectobject 要求のヘッダーThe headers from the request
bodybody objectobject JSON オブジェクトJSON object 要求の本文の内容を含むオブジェクトThe object with the body content from the request
status codestatus code intint 要求の状態コードThe status code from the request
status codeStatus code 説明Description
200200 OKOK
202202 承認済みAccepted
400400 正しくない要求Bad request
401401 権限がありませんUnauthorized
403403 許可されていませんForbidden
404404 見つかりませんNot Found
500500 内部サーバー エラー。Internal server error. 不明なエラーが発生しました。Unknown error occurred.

次の手順Next steps