Azure Logic Apps에서 HTTP 웹 후크를 사용 하 여 자동화 된 이벤트 기반 워크플로 만들기 및 실행Create and run automated event-based workflows by using HTTP webhooks in Azure Logic Apps

Azure Logic Apps 및 기본 제공 HTTP Webhook 커넥터를 사용 하 여 서비스 끝점을 구독 하는 자동화 된 작업 및 워크플로를 만들고, 특정 이벤트를 대기 하 고, 해당 끝점을 정기적으로 확인 하거나 폴링하 는 대신 해당 이벤트를 기반으로 실행 하는 워크플로를 만들 수 있습니다.With Azure Logic Apps and the built-in HTTP Webhook connector, you can create automated tasks and workflows that subscribe to a service endpoint, wait for specific events, and run based on those events, rather than regularly checking or polling that endpoint.

다음은 몇 가지 webhook 기반 워크플로 예제입니다.Here are some example webhook-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 트리거와 Webhook 작업을 사용 하는 방법을 보여 줍니다.This article shows how to use the Webhook trigger and Webhook action so that your logic app can receive and respond to events at a service endpoint.

웹 후크는 어떻게 작동 하나요?How do webhooks work?

웹 후크 트리거는 이벤트 기반 이므로 정기적으로 새 항목을 확인 하거나 폴링하는 데 의존 하지 않습니다.A webhook trigger is event-based, which doesn't depend on checking or polling regularly for new items. 웹 후크 트리거로 시작 하는 논리 앱을 저장 하거나 논리 앱을 사용 안 함에서 사용으로 변경 하는 경우 웹 후크 트리거는 해당 끝점에 콜백 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 the specified service endpoint by registering a callback URL with that endpoint. 그런 다음 트리거는 해당 서비스 끝점이 논리 앱 실행을 시작 하는 URL을 호출할 때까지 기다립니다.The trigger then waits for that service 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 webhook trigger unsubscribes from the service endpoint if you remove the trigger and save your logic app, or when you change your logic app from enabled to disabled.

웹 후크 작업은 이벤트 기반 이기도 하며 해당 끝점에 콜백 URL 을 등록 하 여 지정 된 서비스 끝점을 구독 합니다.A webhook action is also event-based and subscribes to the specified service endpoint by registering a callback URL with that endpoint. 웹 후크 작업은 논리 앱의 워크플로를 일시 중지 하 고 논리 앱이 실행을 다시 시작 하기 전에 서비스 끝점이 URL을 호출할 때까지 대기 합니다.The webhook action pauses the logic app's workflow and waits until the service endpoint calls the URL before the logic app resumes running. 이 경우 웹 후크 작업은 서비스 끝점에서 구독 을 취소 합니다.The webhook action unsubscribes from the service 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 커넥터의 승인 전자 메일 보내기 작업은이 패턴을 따르는 웹 후크 작업의 예입니다.For example, the Office 365 Outlook connector's Send approval email action is an example of webhook action that follows this pattern. 웹 후크 작업을 사용 하 여이 패턴을 모든 서비스로 확장할 수 있습니다.You can extend this pattern into any service by using the webhook action.

자세한 내용은 다음 항목을 참조하세요.For more information, see these topics:

TLS (전송 계층 보안), 이전에 SSL(SECURE SOCKETS LAYER) (SSL) 또는 Azure Active Directory 오픈 인증 (Azure AD OAuth)과 같은 논리 앱에 대 한 인바운드 호출에 대 한 암호화, 보안 및 권한 부여에 대 한 자세한 내용은 요청 기반 트리거에 대 한 인바운드 호출에 대 한 보안 액세스 및 데이터 액세스를 참조 하세요.For information about encryption, security, and authorization for inbound calls to your logic app, such as Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), or Azure Active Directory Open Authentication (Azure AD OAuth), see Secure access and data - Access for inbound calls to request-based triggers.

사전 요구 사항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. 그런 다음 논리 앱은 대상 서비스가 HTTP POST 콜백 URL에 요청을 보낼 때까지 대기 합니다.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-메서드Subscription - Method Yes 대상 끝점을 구독할 때 사용할 메서드입니다.The method to use when subscribing to the target endpoint
    구독-URISubscribe - URI Yes 대상 끝점을 구독 하는 데 사용할 URL입니다.The URL to use for subscribing to the target endpoint
    구독-본문Subscribe - Body 아니요No 구독 요청에 포함할 메시지 본문입니다.Any message body to include in the subscribe request. 이 예에는 논리 앱 @listCallbackUrl() 의 콜백 url을 검색 하는 식을 사용 하 여 논리 앱 인 구독자를 고유 하 게 식별 하는 콜백 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 대상 끝점에서 구독을 취소 하는 데 사용할 URL입니다.The 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. 그런 다음 논리 앱은 대상 서비스가 HTTP POST 콜백 URL에 요청을 보낼 때까지 대기 합니다.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. Logic Apps 디자이너에서 논리 앱을 엽니다.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 작업"으로 바꿉니다.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-메서드Subscription - Method Yes 대상 끝점을 구독할 때 사용할 메서드입니다.The method to use when subscribing to the target endpoint
    구독-URISubscribe - URI Yes 대상 끝점을 구독 하는 데 사용할 URL입니다.The URL to use for subscribing to the target endpoint
    구독-본문Subscribe - Body 아니요No 구독 요청에 포함할 메시지 본문입니다.Any message body to include in the subscribe request. 이 예에는 논리 앱 @listCallbackUrl() 의 콜백 url을 검색 하는 식을 사용 하 여 논리 앱 인 구독자를 고유 하 게 식별 하는 콜백 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 대상 끝점에서 구독을 취소 하는 데 사용할 URL입니다.The 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. 그러면 논리 앱이 워크플로를 일시 중지 하 고 대상 서비스에서 HTTP POST 콜백 URL에 요청을 보낼 때까지 대기 합니다.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.

트리거 및 작업 출력Trigger and action outputs

다음은이 정보를 반환 하는 HTTP Webhook 트리거 또는 작업의 출력에 대 한 자세한 정보입니다.Here is more information about the outputs from an HTTP Webhook trigger or action, which returns this information:

속성 이름Property name TypeType DescriptionDescription
headersheaders objectobject 요청의 헤더The headers from the request
본문body objectobject JSON 개체JSON object 요청의 본문 콘텐츠가 포함된 개체The object with the body content from the request
상태 코드status code intint 요청의 상태 코드The status code from the request
상태 코드Status code DescriptionDescription
200200 확인OK
202202 수락됨Accepted
400400 잘못된 요청Bad request
401401 권한 없음Unauthorized
403403 사용할 수 없음Forbidden
404404 찾을 수 없음Not Found
500500 내부 서버 오류.Internal server error. 알 수 없는 오류 발생.Unknown error occurred.

커넥터 참조Connector reference

트리거와 유사 하 게 트리거와 동작 매개 변수에 대 한 자세한 내용은 HTTP Webhook 매개 변수를 참조 하세요.For more information about trigger and action parameters, which are similar to each other, see HTTP Webhook parameters.

다음 단계Next steps