본문 바로가기
Flow Production Tracking/Help

Webhooks Guide

by 르면가게 2025. 1. 1.

웹훅(Webhooks)이란?

웹훅은 Flow Production Tracking에서 발생하는 이벤트를 사용자가 설정한 URL로 데이터 페이로드를 전송하여 알리는 기능입니다. 이를 통해 워크플로우를 자동화하거나 Flow Production Tracking과 긴밀히 통합된 기능을 구현할 수 있습니다.

사용 예시

  • 디렉터리 자동 생성: 새로운 엔터티(Entity)가 생성될 때 디스크에 디렉터리 구조를 자동으로 생성.
  • 상태 관리 자동화: 특정 작업 완료 시 후속 작업의 상태를 자동으로 업데이트.

웹훅(Webhooks) vs 이벤트 데몬(Event Daemon)

특징웹훅(Webhooks)이벤트 데몬(Event Daemon)

사용 범위 특정 이벤트 감지 (필요한 이벤트만 선택) 모든 이벤트 수집 후 필터링
설정 및 관리 Autodesk에서 관리 사용자가 직접 설정 및 모니터링 필요
지원 언어 HTTP 기반(모든 언어 사용 가능, 서버리스 환경 지원) Python
스로틀링(Throttling) 최대 6초 응답 시간(딜리버리당) / 사이트당 1분 처리 제한 없음
실패 복구 UI 또는 API를 통해 특정 이벤트 다시 전송 가능 특정 이벤트 ID부터 다시 시작 (전체 이벤트 재처리)
로그 보존 기간 7일 사용자 지정 가능
복원력 24시간 동안 최대 100번 실패 허용 N/A
전송 보장(Delivery Guarantee) 전송 보장: 이벤트는 가능한 빠르게 재시도 보장하지 않음

주요 차이점 요약

  • 웹훅은 특정 이벤트를 선택적으로 구독하며, 설정 및 유지보수 부담이 적습니다. AWS Lambda 같은 서버리스 환경에서 실행하거나 Zapier/IFTTT 같은 외부 자동화 플랫폼과 쉽게 통합 가능합니다.
  • 이벤트 데몬은 전체 이벤트를 필터링하며, Python 기반으로 직접 설정 및 모니터링을 해야 합니다. 사용자가 직접 이벤트 흐름을 제어할 수 있지만 관리 부담이 큽니다.

웹훅이 적합한 경우:

  • 간단한 설정과 빠른 통합이 필요할 때
  • 서버리스 환경 또는 다양한 언어 기반 구현이 필요할 때

이벤트 데몬이 적합한 경우:

  • 모든 이벤트 데이터를 필터링 및 세밀하게 제어해야 할 때
  • Python을 활용한 고유의 서비스 구성 및 제어가 필요한 경우

주요 기능 및 설정 방법

1. 이벤트 유형

웹훅은 두 가지 이벤트 그룹을 지원합니다:

  1. 엔터티 수명주기 이벤트: 엔터티의 생성, 갱신, 삭제, 복원과 관련된 이벤트.
  2. 사용자 정의 이벤트: 로그인/로그아웃, 데이터 가져오기, 특정 메뉴 항목 트리거 등의 이벤트.

2. 웹훅 생성

  • 웹훅 페이지에서 생성: 설정 메뉴에서 웹훅 생성 옵션 선택.
  • 이벤트 로그에서 생성: 특정 이벤트 로그 항목을 선택해 웹훅 생성.

3. 보안 설정

  • 시크릿 토큰: HMAC(SHA1)을 사용한 서명을 통해 페이로드 데이터의 무결성을 검증.
  • SSL 인증서 검증: 보안 연결을 위해 SSL 인증서 검증 옵션 제공.

운영 및 관리

1. 상태 및 장애 관리

  • 웹훅 상태는 활성(Active), 불안정(Unstable), **실패(Failed)**로 표시.
  • 장애 시 재전송(Redelivery) 기능으로 실패한 전송을 다시 시도 가능.

2. 성능 최적화

  • 1분당 10건의 전송 처리 속도 제한(최대 6초 응답 시간).
  • 높은 트래픽에서 지연을 방지하기 위해 응답 즉시 200 상태 코드 반환 권장.

3. 테스트 및 디버깅

  • webhook.site와 같은 테스트 서비스를 사용해 설정된 웹훅의 응답 확인.
  • 테스트 연결 기능(Test Connection)으로 샘플 페이로드를 전송해 확인.

추가 사항

  • IP 제한 관리 필요: 특정 IP를 화이트리스트에 추가해 보안을 강화.
  • REST API를 통해 웹훅 생성, 관리, 장애 복구 지원.

 

https://help.autodesk.com/view/SGDEV/KOR/?guid=SGD_we_webook_guides_html

 

Help

 

help.autodesk.com