다음을 통해 공유


Azure Logic Apps에서 HTTP 웹후크를 사용하여 이벤트가 워크플로를 실행하도록 구독하고 기다립니다.

적용 대상: Azure Logic Apps(사용량 + 표준)

서비스 엔드포인트를 정기적으로 확인하거나 폴링하는 트리거나 해당 엔드포인트를 호출하는 작업을 사용하는 대신 서비스 엔드포인트를 구독하고, 특정 이벤트를 기다리고, 워크플로에서 특정 작업을 실행하는 HTTP 웹후크 트리거 또는 작업을 사용할 수 있습니다.

다음은 웹후크 기반 워크플로 예제입니다.

  • 워크플로 실행을 트리거하기 전에 Azure Event Hubs에서 이벤트가 도착할 때까지 기다립니다.
  • 워크플로를 계속하기 전에 승인을 기다립니다.

이 가이드에서는 워크플로가 서비스 엔드포인트에서 이벤트를 수신하고 응답할 수 있도록 HTTP 웹후크 트리거 및 Webhook 작업을 사용하는 방법을 보여 줍니다.

웹후크는 어떻게 작동하나요?

웹후크 트리거는 이벤트 기반이며 새 데이터나 이벤트를 정기적으로 확인하거나 폴링하는 데 의존하지 않습니다. 빈 워크플로에 웹후크 트리거를 추가한 후 워크플로를 저장한 후 또는 사용하지 않도록 설정된 논리 앱 리소스를 다시 사용하도록 설정한 후 웹후크 트리거는 해당 엔드포인트에 콜백 URL을 등록하여 지정된 서비스 엔드포인트를 구독합니다. 그런 다음 트리거는 해당 서비스 엔드포인트가 URL을 호출할 때까지 기다립니다. 그러면 트리거가 실행되고 워크플로가 시작됩니다. 요청 트리거와 마찬가지로 웹후크 트리거는 즉시 실행됩니다. 또한 웹후크 트리거는 다음 작업을 수동으로 수행하지 않는 한 서비스 엔드포인트에 대한 구독 상태를 유지합니다.

  • 트리거의 매개 변수 값을 변경합니다.
  • 트리거를 삭제한 다음 워크플로를 저장합니다.
  • 논리 앱 리소스를 사용하지 않도록 설정합니다.

웹후크 트리거와 마찬가지로 웹후크 작업도 이벤트 기반으로 작동합니다. 기존 워크플로에 웹후크 작업을 추가한 후 워크플로를 저장한 후 또는 사용하지 않도록 설정된 논리 앱 리소스를 다시 사용하도록 설정한 후 웹후크 작업은 해당 엔드포인트에 콜백 URL을 등록하여 지정된 서비스 엔드포인트를 구독합니다. 워크플로가 실행되면 웹후크 작업은 워크플로를 일시 중지하고 워크플로 실행을 다시 시작하기 전에 서비스 엔드포인트가 URL을 호출할 때까지 기다립니다. 다음 조건이 발생하면 웹후크 작업이 서비스 엔드포인트에서 구독을 취소합니다.

  • 웹후크 작업이 성공적으로 완료되었습니다.
  • 응답을 기다리는 동안 워크플로 실행이 취소되었습니다.
  • 워크플로 런타임이 초과되기 전.
  • 웹후크 트리거에서 입력으로 사용되는 웹후크 작업 매개 변수 값을 변경합니다.

예를 들어 Office 365 Outlook 커넥터의 승인 메일 보내기 작업은 이 패턴을 따르는 웹후크 작업의 예입니다. 이 패턴을 웹후크 동작을 통해 서비스로 확장할 수 있습니다.

자세한 내용은 다음 설명서를 참조하세요.

이전에 SSL(Secure Sockets Layer)로 알려진 TLS(전송 계층 보안) 또는 Microsoft Entra ID Open과 같은 논리 앱에 대한 인바운드 호출에 대한 암호화, 보안 및 인증에 대한 정보 인증(Microsoft Entra ID OAuth), 보안 액세스 및 데이터 - 요청 기반 트리거에 대한 인바운드 호출에 대한 액세스를 참조하세요.

커넥터 기술 참조

트리거 및 작업 매개 변수에 대한 자세한 내용은 HTTP 웹후크 매개 변수를 참조하세요.

필수 조건

  • Azure 계정 및 구독 Azure 구독이 없는 경우 체험 Azure 계정에 등록합니다.

  • 워크플로의 웹후크 트리거 또는 워크플로의 웹후크 작업에 대한 웹후크 구독 및 구독 취소 패턴을 지원하는 이미 배포된 엔드포인트 또는 API의 URL입니다.

  • 대상 엔드포인트에서 특정 이벤트를 기다리려는 표준 또는 사용량 논리 앱 워크플로입니다. HTTP 웹후크 트리거를 시작하려면 빈 워크플로가 있는 논리 앱을 만듭니다. HTTP 웹후크 작업을 사용하려면 원하는 트리거를 사용하여 워크플로를 시작합니다. 이 예제에서는 첫 번째 단계로 HTTP 트리거를 사용합니다.

Http Webhook 트리거 추가

이 기본 제공 트리거는 대상 서비스의 구독 엔드포인트를 호출하고 대상 서비스로 콜백 URL을 등록합니다. 그런 다음 워크플로는 대상 서비스가 콜백 URL에 HTTP POST 요청을 보낼 때까지 기다립니다. 이 이벤트가 발생하면 트리거가 발생하고 해당 요청의 모든 데이터를 워크플로로 전달합니다.

  1. Azure Portal의 표준 논리 앱을 열고 디자이너에서 빈 워크플로를 엽니다.

  2. 워크플로에 HTTP 웹후크라는 트리거를 추가하려면 다음 일반 단계를 따릅니다.

    이 예에서는 단계에 더 설명적인 이름을 갖도록 트리거 이름을 HTTP 웹후크 트리거로 바꿉니다. 또한 나중에 이 예제에서는 Http Webhook 작업을 추가하는데, 두 이름이 모두 고유해야 합니다.

  3. 구독 호출 및 구독 취소 호출에 사용할 Http Webhook 트리거 매개 변수를 위한 값을 제공합니다.

    속성 필수 설명
    구독 - 메서드 대상 엔드포인트를 구독할 때 사용할 메서드입니다.
    구독 - URI 대상 엔드포인트를 구독할 때 사용할 URL입니다.
    구독 - 본문 아니요 구독 요청에 포함할 메시지 본문입니다. 이 예에는 논리 앱의 콜백 URL을 검색하는 @listCallbackUrl() 식을 사용하여 논리 앱인 구독자를 고유하게 식별하는 콜백 URL이 포함되어 있습니다.
    구독 취소 - 메서드 아니요 대상 엔드포인트에서 구독을 해제할 때 사용할 메서드입니다.
    구독 취소 - URI 아니요 대상 엔드포인트에서 구독을 취소하는 데 사용할 URL입니다.
    구독 취소 - 본문 아니요 구독 취소 요청에 포함할 옵션 메시지 본문입니다.

    참고: 이 속성은 listCallbackUrl() 함수 사용을 지원하지 않습니다. 그러나 해당 트리거는 대상 서비스가 구독자를 고유하게 식별하는 데 사용할 수 있는 x-ms-client-tracking-idx-ms-workflow-operation-name 헤더를 자동으로 포함하고 보냅니다.

    참고 항목

    구독 취소 - 메서드구독 취소 - URI 속성의 경우 고급 매개 변수 목록을 열어 작업에 추가합니다.

    예를 들어, 다음 트리거에는 구독 및 구독 취소 작업을 수행할 때 사용할 메서드, URI 및 메시지 본문이 포함되어 있습니다.

    스크린샷은 HTTP 웹후크 트리거 매개 변수가 있는 표준 워크플로를 보여줍니다.

    인증을 사용해야 하는 경우 구독 - 인증구독 취소 - 인증 속성을 추가할 수 있습니다. Http Webhook에 사용 가능한 인증 형식에 관한 자세한 내용은 아웃바운드 호출에 인증 추가를 참조하세요.

  4. 트리거가 발생할 때 실행되는 작업을 사용하여 워크플로를 계속 작성합니다.

  5. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

워크플로를 저장하면 대상 서비스의 구독 엔드포인트가 호출되고 콜백 URL이 등록됩니다. 그런 다음 워크플로는 대상 서비스가 콜백 URL에 HTTP POST 요청을 보낼 때까지 기다립니다. 이 이벤트가 발생하면 트리거가 발생하고 해당 요청의 모든 데이터를 워크플로로 전달합니다. 이 작업이 성공적으로 완료되면 트리거는 엔드포인트에서 구독을 취소하고 워크플로는 다음 작업을 계속합니다.

Http Webhook 작업 추가

이 기본 제공 작업은 대상 서비스의 구독 엔드포인트를 호출하고 대상 서비스로 콜백 URL을 등록합니다. 그러면 워크플로가 일시 중지되고 대상 서비스가 콜백 URL에 HTTP POST 요청을 보낼 때까지 기다립니다. 이 이벤트가 발생하면 작업은 요청에 있는 모든 데이터를 워크플로로 전달합니다. 작업이 성공적으로 완료되면 작업이 엔드포인트에서 구독을 취소하고 워크플로가 다음 작업으로 계속됩니다.

이 예제에서는 첫 번째 단계로 Http Webhook 트리거를 사용합니다.

  1. Azure Portal의 디자이너에서 표준 논리 앱과 워크플로를 엽니다.

  2. 워크플로에 HTTP 웹후크라는 작업을 추가하려면 다음 일반 단계를 따릅니다.

    이 예에서는 작업의 이름을 HTTP Webhook 작업으로 변경하여 단계의 이름에 설명이 포함되게 합니다.

  3. Http Webhook 작업 매개 변수를 위한 값을 제공합니다. 이 매개 변수는 Http Webhook 트리거 매개 변수와 비슷하며 구독 및 구독 취소 호출에 사용할 수 있습니다.

    속성 필수 설명
    구독 - 메서드 대상 엔드포인트를 구독할 때 사용할 메서드입니다.
    구독 - URI 대상 엔드포인트를 구독할 때 사용할 URL입니다.
    구독 - 본문 아니요 구독 요청에 포함할 메시지 본문입니다. 이 예에는 논리 앱의 콜백 URL을 검색하는 @listCallbackUrl() 식을 사용하여 논리 앱인 구독자를 고유하게 식별하는 콜백 URL이 포함되어 있습니다.
    구독 취소 - 메서드 아니요 대상 엔드포인트에서 구독을 해제할 때 사용할 메서드입니다.
    구독 취소 - URI 아니요 대상 엔드포인트에서 구독을 취소하는 데 사용할 URL입니다.
    구독 취소 - 본문 아니요 구독 취소 요청에 포함할 옵션 메시지 본문입니다.

    참고: 이 속성은 listCallbackUrl() 함수 사용을 지원하지 않습니다. 그러나 이 작업은 대상 서비스가 구독자를 고유하게 식별하는 데 사용할 수 있는 x-ms-client-tracking-idx-ms-workflow-operation-name 헤더를 자동으로 포함하고 보냅니다.

    참고 항목

    구독 취소 - 메서드구독 취소 - URI 속성의 경우 고급 매개 변수 목록을 열어 작업에 추가합니다.

    예를 들어, 다음 작업에는 구독 및 구독 취소 작업을 수행할 때 사용할 메서드, URI 및 메시지 본문이 포함되어 있습니다.

    스크린샷은 HTTP 웹후크 작업 매개 변수가 있는 표준 워크플로를 보여줍니다.

  4. 다른 작업 속성을 추가하려면 고급 매개 변수 목록을 엽니다.

    예를 들어 인증을 사용해야 하는 경우 구독 - 인증구독 취소 - 인증 속성을 추가할 수 있습니다. Http Webhook에 사용 가능한 인증 형식에 관한 자세한 내용은 아웃바운드 호출에 인증 추가를 참조하세요.

  5. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

이 작업이 실행되면 워크플로는 대상 서비스의 구독 엔드포인트를 호출하고 콜백 URL을 등록합니다. 그런 다음 워크플로는 일시 중지되고 대상 서비스가 콜백 URL에 HTTP POST 요청을 보낼 때까지 기다립니다. 이 이벤트가 발생하면 작업은 요청에 있는 모든 데이터를 워크플로로 전달합니다. 작업이 성공적으로 완료되면 작업이 엔드포인트에서 구독을 취소하고 워크플로가 다음 작업으로 계속됩니다.

트리거 및 작업 출력

Http Webhook 트리거 또는 작업의 출력에 관한 자세한 내용은 다음과 같습니다.

Property name 형식 설명
헤더 개체 요청의 헤더
본문 개체 요청의 본문 콘텐츠가 포함된 개체
상태 코드 int 요청의 상태 코드
상태 코드 Description
200 OK
202 Accepted
400 Bad request
401 Unauthorized
403 금지
404 Not Found
500 내부 서버 오류입니다. 알 수 없는 오류 발생.

다음 단계