웹훅(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. 이벤트 유형
웹훅은 두 가지 이벤트 그룹을 지원합니다:
- 엔터티 수명주기 이벤트: 엔터티의 생성, 갱신, 삭제, 복원과 관련된 이벤트.
- 사용자 정의 이벤트: 로그인/로그아웃, 데이터 가져오기, 특정 메뉴 항목 트리거 등의 이벤트.
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
'Flow Production Tracking > Help' 카테고리의 다른 글
Getting Started - Getting started with configurations (0) | 2024.12.26 |
---|---|
Integrations user guide (0) | 2024.12.26 |
Custom Protocol (1) | 2024.12.25 |
Launching Applications Using Custom Browser Protocols (1) | 2024.12.25 |
Custom Action Menu Items (0) | 2024.12.25 |