For the complete documentation index, see llms.txt. This page is also available as Markdown.

웹훅 싱크

워크플로 결과를 사용해 원격 API에 요청을 보냅니다.

웹훅 싱크 이 블록은 워크플로 결과를 포함한 HTTP 요청을 보내 워크플로에서 외부 API로 데이터를 전송할 수 있게 해줍니다.

이 블록의 작동 방식

여러 HTTP 메서드(GET, POST, PUT)를 지원하며 다음을 전송하도록 구성할 수 있습니다:

  • JSON 페이로드

  • 쿼리 파라미터

  • 멀티파트 인코딩 파일

이 블록은 데이터 교환, 알림 또는 기타 통합을 위해 워크플로를 원격 시스템과 연동할 수 있도록 유연성을 제공하도록 설계되었습니다.

쿼리 파라미터 설정

요청에 대한 쿼리 파라미터를 쉽게 설정할 수 있습니다:

query_parameters = {
    "api_key": "$inputs.api_key",
}

다음 URL로 요청을 보냅니다: https://your-host/some/resource?api_key=<API_KEY_VALUE>

헤더 설정

헤더 설정은 쿼리 파라미터 설정만큼 쉽습니다:

JSON 페이로드 전송

직접 구성한 JSON 문서를 메시지 본문으로 설정할 수 있으며, 다음을 지정합니다 json_payloadjson_payload_operations 속성. json_payload 다음과 유사하게 작동합니다 query_parametersheaders하지만 JSON 본문 요소 위에 UQL 연산을 선택적으로 적용할 수 있습니다.

객체 탐지 모델이 예측한 바운딩 박스 수를 다음 이름의 본문 필드로 보내고 싶다고 가정해 보겠습니다: detections_number그러면 다음과 유사한 구성을 지정해야 합니다:

POST 요청에서의 멀티파트 인코딩 파일

엔드포인트가 multipart 요청도 받을 수 있습니다. JSON 페이로드와 비슷한 방식으로 구성할 수 있으며, 다음을 설정합니다 multi_part_encoded_filesmulti_part_encoded_files_operations.

요청에 이미지를 보내고 싶다고 가정해 보겠습니다. 그러면 구성은 다음과 같을 수 있습니다:

쿨다운

이 블록은 다음을 허용합니다 cooldown_seconds (이는 기본값은 5) 원치 않는 알림 폭주를 방지합니다. 필요에 따라 조정하고, 0 쿨다운 없음으로 설정하세요.

쿨다운 기간 동안, 해당 단계가 연속으로 실행되면 throttling_status 출력이 설정됩니다 True 그리고 알림은 전송되지 않습니다.

비동기 실행

다음을 fire_and_forget 속성. 요청을 백그라운드에서 보내 워크플로가 데이터 전송을 기다리지 않고 계속 진행하도록 하려면 True로 설정합니다. 이 경우 다음에 의존할 수 없습니다 error_status 출력이며, 항상 다음으로 설정됩니다 False, 따라서 우리는 다음 설정을 권장합니다 fire_and_forget=False 디버깅 목적으로.

런타임 매개변수를 기반으로 알림 비활성화

때로는 다음을 수동으로 비활성화하는 것이 편리할 수 있습니다 웹훅 싱크 블록. 다음을 설정하면 가능합니다 disable_sink 플래그를 Workflow 입력에 대한 참조로 두는 것입니다. 이렇게 설정하면 호출자가 필요할 때 합의된 입력 매개변수를 보내 싱크를 비활성화할 수 있습니다.

일반적인 사용 사례

  • 이 블록을 사용하여 [블록 유형에 따른 목적]

다른 블록에 연결하기

이 블록의 출력은 워크플로의 다른 블록에 연결할 수 있습니다.

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/webhook_sink@v1 워크플로우에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

이 단계에 대한 고유 식별자를 입력하세요..

url

str

요청을 보낼 리소스의 URL입니다.

method

str

사용할 HTTP 메서드입니다.

query_parameters

Dict[str, Union[List[Union[bool, float, int, str]], bool, float, int, str]]

요청 쿼리 파라미터입니다.

headers

Dict[str, Union[bool, float, int, str]]

요청 헤더입니다.

json_payload

Dict[str, Union[Dict[Any, Any], List[Any], bool, float, int, str]]

JSON 페이로드에 넣을 필드입니다.

json_payload_operations

Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]]

정의된 데이터에 대해 각 값별로 수행할 작업의 UQL 정의입니다 json_payload 파라미터.

multi_part_encoded_files

Dict[str, Union[Dict[Any, Any], List[Any], bool, float, int, str]]

멀티파트 인코딩 파일로 POST할 데이터입니다.

multi_part_encoded_files_operations

Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]]

정의된 데이터에 대해 각 값별로 수행할 작업의 UQL 정의입니다 multi_part_encoded_files 파라미터.

form_data

Dict[str, Union[Dict[Any, Any], List[Any], bool, float, int, str]]

폼 데이터에 넣을 필드입니다.

form_data_operations

Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]]

정의된 데이터에 대해 각 값별로 수행할 작업의 UQL 정의입니다 form_data 파라미터.

request_timeout

정수

원격 API 응답을 기다릴 시간(초)입니다.

fire_and_forget

bool

더 빠른 워크플로를 위해 블록을 비동기(True)로 실행할지, 디버깅 및 오류 처리를 위해 동기(False)로 실행할지 나타내는 불리언 플래그..

disable_sink

bool

블록 실행을 비활성화하는 불리언 플래그..

cooldown_seconds

정수

후속 알림을 보낼 수 있을 때까지 기다릴 시간(초)입니다..

참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.

런타임 호환성

인터넷 필요 - 에어갭 / 오프라인 배포 : 이 블록은 완전히 오프라인 / 에어갭된 배포에서는 접근할 수 없는 서비스에 의존합니다.

소프트 - 런타임 호스팅 서버리스, 전용 배포; 실행 원격 : 쿨다운/속도 제한 타이머는 프로세스 메모리에 저장됩니다. 상태 비저장 또는 다중 복제본 HTTP 런타임에서 원격 단계 실행을 사용하면 각 요청이 새 작업자를 받으므로 쿨다운이 속도를 제한하지 않습니다. 쿨다운은 지속적인 WebRTC 세션에서 로컬 단계 실행을 사용할 때만 문서화된 대로 작동합니다.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 웹훅 싱크 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
예시 JSON 정의

마지막 업데이트

도움이 되었나요?