Azure Logic Apps で HTTP Webhook を使用して、自動化されたイベントベースのワークフローを作成して実行するCreate and run automated event-based 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.

注意

Logic Apps では、HTTP Webhook のトリガーまたはアクションに対するコールバックを受け取るときは、トランスポート層セキュリティ (TLS) 1.2 が適用されます。Logic Apps enforces Transport Layer Security (TLS) 1.2 when receiving the call back to the HTTP webhook trigger or action. TLS ハンドシェイク エラーが発生する場合は、TLS 1.2 を使用していることを確認してください。If you see TLS handshake errors, make sure that you use TLS 1.2. 着信呼び出しの場合、サポートされている暗号スイートは次のとおりです。For incoming calls, here are the supported cipher suites:

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

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

前提条件Prerequisites

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

この組み込みトリガーは、ターゲット サービスでサブスクライブ エンドポイントを呼び出し、そのコールバック URL をターゲット サービスに登録します。This built-in trigger calls the subscribe endpoint on the target service and registers a callback URL with the target service. その後、ロジック アプリは、ターゲット サービスがコールバック URL に HTTP POST 要求を送信するのを待ちます。Your logic app then waits for the target service to send an HTTP POST request to the callback URL. このイベントが発生すると、トリガーが起動され、要求内のすべてのデータがワークフローに渡されます。When this event happens, the trigger fires and passes any data in the request along to the workflow.

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

  2. デザイナーの検索ボックスに、フィルターとして「http webhook」と入力します。In the designer's 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.

    この例のトリガーには、サブスクライブおよびサブスクライブ解除の操作を実行するときに使用するメソッド、URI、およびメッセージ本文が含まれています。In this example, the trigger includes the methods, URIs, and message bodies to use when performing the subscribe and unsubscribe operations.

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

    プロパティProperty 必須Required 説明Description
    サブスクライブ - メソッドSubscription - Method はいYes ターゲット エンドポイントをサブスクライブするときに使用するメソッドThe method to use when subscribing to the target endpoint
    サブスクライブ - URISubscribe - URI はいYes ターゲット エンドポイントにサブスクライブするために使用する URLThe URL to use for subscribing to the target endpoint
    サブスクライブ - 本文Subscribe - Body いいえNo サブスクライブ要求に含めるメッセージ本文。Any message body to include in the subscribe request. この例には、ロジック アプリであるサブスクライバーを一意に識別するコールバック URL が含まれており、@listCallbackUrl() 式を使用してロジック アプリのコールバック URL を取得しています。This example includes the callback URL that uniquely identifies the subscriber, which is your logic app, by using the @listCallbackUrl() expression to retrieve your logic app's callback URL.
    サブスクライブ解除 - メソッドUnsubscribe - Method いいえNo ターゲット エンドポイントからサブスクライブ解除するときに使用するメソッドThe method to use when unsubscribing from the target endpoint
    サブスクライブ解除 - URIUnsubscribe - URI いいえNo ターゲット エンドポイントからサブスクライブ解除するために使用する URLThe URL to use for unsubscribing from the target endpoint
    サブスクライブ解除 - 本文Unsubscribe - Body いいえNo サブスクライブ解除の要求に含めるオプションのメッセージ本文An optional message body to include in the unsubscribe request

    :このプロパティは、listCallbackUrl() 関数の使用をサポートしていません。Note: This property doesn't support using the listCallbackUrl() function. ただし、トリガーによって自動的にヘッダー (x-ms-client-tracking-id および x-ms-workflow-operation-name) が含まれ、送信されます。このヘッダーは、ターゲット サービスがサブスクライバーを一意に識別するために使用されます。However, the trigger automatically includes and sends the headers, x-ms-client-tracking-id and x-ms-workflow-operation-name, which the target service can use to uniquely identify the subscriber.

  4. その他のトリガー プロパティを追加するには、 [新しいパラメーターの追加] の一覧を開きます。To add other trigger properties, open the Add new parameter list.

    トリガー プロパティをさらに追加する

    たとえば、認証を使用する必要がある場合は、サブスクライブ - 認証サブスクライブ解除 - 認証プロパティを追加します。For example, if you need to use authentication, you can add the Subscribe - Authentication and Unsubscribe - Authentication properties. HTTP Webhook に使用できる認証の種類の詳細については、送信呼び出しへの認証の追加に関するページを参照してください。For more information about authentication types available for HTTP Webhook, see Add authentication to outbound calls.

  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 on the target service and registers the callback URL. その後、ロジック アプリは、ターゲット サービスがコールバック URL に HTTP POST 要求を送信するのを待ちます。Your logic app then waits for the target service to send an HTTP POST request to the callback URL. このイベントが発生すると、トリガーが起動され、要求内のすべてのデータがワークフローに渡されます。When this event happens, the trigger fires and passes any data in the request along to the workflow. この操作が正常に完了すると、トリガーはエンドポイントからサブスクライブ解除され、ロジック アプリでは残りのワークフローが続行されます。If this operation completes successfully, the trigger unsubscribes from the endpoint, and your logic app continues the remaining workflow.

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

この組み込みアクションは、ターゲット サービスでサブスクライブ エンドポイントを呼び出し、そのコールバック URL をターゲット サービスに登録します。This built-in action calls the subscribe endpoint on the target service and registers a callback URL with the target service. その後、ロジック アプリは一時停止し、ターゲット サービスがコールバック URL に HTTP POST 要求を送信するのを待ちます。Your logic app then pauses and waits for target service to send an HTTP POST request to the callback URL. このイベントが発生すると、アクションは要求内のすべてのデータをワークフローに渡します。When this event happens, the action passes any data in the request along to the workflow. 操作が正常に完了すると、アクションはエンドポイントからサブスクライブ解除され、ロジック アプリは残りのワークフローの実行を続行します。If the operation completes successfully, the action unsubscribes from the endpoint, and your logic app continues running the remaining workflow.

  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」と入力します。In the designer's 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.

    この例のアクションには、サブスクライブおよびサブスクライブ解除の操作を実行するときに使用するメソッド、URI、およびメッセージ本文が含まれています。In this example, the action includes the methods, URIs, and message bodies to use when performing the subscribe and unsubscribe operations.

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

    プロパティProperty 必須Required 説明Description
    サブスクライブ - メソッドSubscription - Method はいYes ターゲット エンドポイントをサブスクライブするときに使用するメソッドThe method to use when subscribing to the target endpoint
    サブスクライブ - URISubscribe - URI はいYes ターゲット エンドポイントにサブスクライブするために使用する URLThe URL to use for subscribing to the target endpoint
    サブスクライブ - 本文Subscribe - Body いいえNo サブスクライブ要求に含めるメッセージ本文。Any message body to include in the subscribe request. この例には、ロジック アプリであるサブスクライバーを一意に識別するコールバック URL が含まれており、@listCallbackUrl() 式を使用してロジック アプリのコールバック URL を取得しています。This example includes the callback URL that uniquely identifies the subscriber, which is your logic app, by using the @listCallbackUrl() expression to retrieve your logic app's callback URL.
    サブスクライブ解除 - メソッドUnsubscribe - Method いいえNo ターゲット エンドポイントからサブスクライブ解除するときに使用するメソッドThe method to use when unsubscribing from the target endpoint
    サブスクライブ解除 - URIUnsubscribe - URI いいえNo ターゲット エンドポイントからサブスクライブ解除するために使用する URLThe URL to use for unsubscribing from the target endpoint
    サブスクライブ解除 - 本文Unsubscribe - Body いいえNo サブスクライブ解除の要求に含めるオプションのメッセージ本文An optional message body to include in the unsubscribe request

    :このプロパティは、listCallbackUrl() 関数の使用をサポートしていません。Note: This property doesn't support using the listCallbackUrl() function. ただし、アクションによってヘッダー (x-ms-client-tracking-id および x-ms-workflow-operation-name) が自動的に送信されます。このヘッダーは、ターゲット サービスがサブスクライバーを一意に識別するために使用されます。However, the action automatically includes and sends the headers, x-ms-client-tracking-id and x-ms-workflow-operation-name, which the target service can use to uniquely identify the subscriber.

  5. その他のアクション プロパティを追加するには、 [新しいパラメーターの追加] の一覧を開きます。To add other action properties, open the Add new parameter list.

    アクション プロパティをさらに追加する

    たとえば、認証を使用する必要がある場合は、サブスクライブ - 認証サブスクライブ解除 - 認証プロパティを追加します。For example, if you need to use authentication, you can add the Subscribe - Authentication and Unsubscribe - Authentication properties. HTTP Webhook に使用できる認証の種類の詳細については、送信呼び出しへの認証の追加に関するページを参照してください。For more information about authentication types available for HTTP Webhook, see Add authentication to outbound calls.

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

    これで、アクションが実行されるとターゲット サービスでサブスクライブ エンドポイントが呼び出され、コールバック URL が登録されます。Now, when this action runs, your logic app calls the subscribe endpoint on the target service and registers the callback URL. その後、ロジック アプリはワークフローを一時停止して、ターゲット サービスがコールバック URL に HTTP POST 要求を送信するのを待ちます。The logic app then pauses the workflow and waits for the target service to send an HTTP POST request to the callback URL. このイベントが発生すると、アクションは要求内のすべてのデータをワークフローに渡します。When this event happens, the action passes any data in the request along to the workflow. 操作が正常に完了すると、アクションはエンドポイントからサブスクライブ解除され、ロジック アプリは残りのワークフローの実行を続行します。If the operation completes successfully, the action unsubscribes from the endpoint, and your logic app continues running the remaining workflow.

コネクタのレファレンス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 [OK]OK
202202 承認済みAccepted
400400 正しくない要求Bad request
401401 権限がありませんUnauthorized
403403 ForbiddenForbidden
404404 見つかりませんNot Found
500500 内部サーバー エラー。Internal server error. 不明なエラーが発生しました。Unknown error occurred.

次のステップNext steps