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

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

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

다음은 웹후크 기반 워크플로의 몇 가지 예입니다.

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

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

웹후크는 어떻게 작동합니까?

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

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

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

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

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

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

이전에 SSL(Secure Sockets Layer)로 알려진 TLS(전송 계층 보안) 또는 Microsoft Entra ID Open Authentication(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 웹후크 작업을 추가하며 두 이름은 모두 고유해야 합니다.

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

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

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

    참고 항목

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

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

    Screenshot shows Standard workflow with HTTP Webhook trigger parameters.

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

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

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

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

HTTP 웹후크 작업 추가

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

이 예제에서는 HTTP 웹후크 트리거를 첫 번째 단계로 사용합니다.

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

  2. 다음 일반적인 단계에 따라 HTTP 웹후크라는 작업을 워크플로에 추가합니다.

    이 예제에서는 작업의 이름을 HTTP 웹후크 작업으로 바꿔 단계의 이름을 보다 설명적인 이름으로 지정합니다.

  3. 구독 및 구독 취소 호출에 사용할 HTTP 웹후크 트리거 매개 변수와 유사한 HTTP 웹후크 작업 매개 변수에 대한 값을 제공합니다.

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

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

    참고 항목

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

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

    Screenshot shows Standard workflow with HTTP Webhook action parameters.

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

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

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

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

트리거 및 작업 출력

이 정보를 반환하는 HTTP 웹후크 트리거 또는 작업의 출력에 대한 자세한 내용은 다음과 같습니다.

Property name Type 설명
헤더 개체 요청의 헤더
본문 개체 요청의 본문 내용이 있는 개체입니다.
상태 코드 int 요청의 상태 코드
상태 코드 Description
200 OK
202 Accepted
400 Bad request
401 Unauthorized
403 금지
404 Not Found
500 내부 서버 오류입니다. 알 수 없는 오류 발생.

다음 단계