वेबहुक सिंक
वर्कफ़्लो के परिणामों के साथ किसी रिमोट API को अनुरोध भेजें।
यह वेबहुक सिंक यह ब्लॉक Workflow से डेटा को बाहरी APIs में HTTP अनुरोध भेजकर भेजने में सक्षम बनाता है, जिनमें workflow परिणाम शामिल होते हैं।
यह ब्लॉक कैसे काम करता है
यह कई 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_payload और json_payload_operations प्रॉपर्टीज़. json_payload इसी तरह काम करता है query_parameters और headers, लेकिन आप वैकल्पिक रूप से JSON बॉडी एलिमेंट्स पर UQL ऑपरेशन्स लागू कर सकते हैं।
मान लें कि आप बॉडी फ़ील्ड नाम से ऑब्जेक्ट डिटेक्शन मॉडल द्वारा अनुमानित बाउंडिंग बॉक्सों की संख्या भेजना चाहते हैं detections_number, तब आपको निम्न जैसी कॉन्फ़िगरेशन निर्दिष्ट करनी होगी:
POST अनुरोधों में मल्टीपार्ट-एन्कोडेड फ़ाइलें
आपका एंडपॉइंट मल्टीपार्ट अनुरोध भी स्वीकार कर सकता है। आप उन्हें JSON पेलोड के समान तरीके से बना सकते हैं - सेट करके multi_part_encoded_files और multi_part_encoded_files_operations.
मान लें कि आप अनुरोध में छवि भेजना चाहते हैं, तब आपका कॉन्फ़िगरेशन निम्न हो सकता है:
कूलडाउन
ब्लॉक cooldown_seconds (जो डिफ़ॉल्ट रूप से 5 सेकंड) अप्रत्याशित सूचना बर्स्ट को रोकने के लिए स्वीकार करता है। कृपया अपनी आवश्यकता के अनुसार इसे समायोजित करें, 0 कूलडाउन न होने का संकेत दें।
कूलडाउन अवधि के दौरान, चरण के लगातार रन से throttling_status आउटपुट True पर सेट किया जाएगा और कोई सूचना नहीं भेजी जाएगी।
कूलडाउन सीमाएँ
कूलडाउन का वर्तमान कार्यान्वयन केवल वीडियो प्रोसेसिंग तक सीमित है - इस ब्लॉक का उपयोग उस वर्कफ़्लो के संदर्भ में करना जो HTTP सेवा (Roboflow Hosted API, Dedicated Deployment या self-hosted inference सर्वर) के पीछे चलाया जाता है, HTTP अनुरोधों के प्रसंस्करण पर कोई प्रभाव नहीं डालेगा।
असमकालिक निष्पादन
कॉन्फ़िगर करें fire_and_forget प्रॉपर्टी. इसे True पर सेट करें यदि आप चाहते हैं कि अनुरोध बैकग्राउंड में भेजा जाए, जिससे Workflow डेटा भेजे जाने की प्रतीक्षा किए बिना आगे बढ़ सके। इस स्थिति में आप भरोसा नहीं कर पाएँगे error_status आउटपुट पर निर्भर नहीं रह पाएंगे, जो हमेशा Falseपर सेट रहेगा, इसलिए हम सेट करने की अनुशंसा करते हैं fire_and_forget=False डिबगिंग उद्देश्यों के लिए.
रनटाइम पैरामीटर के आधार पर सूचनाएँ अक्षम करना
कभी-कभी इसे मैन्युअल रूप से अक्षम करना सुविधाजनक होता है वेबहुक सिंक ब्लॉक को। यह सेट करके संभव है disable_sink फ़्लैग को वर्कफ़्लो इनपुट का संदर्भ रखने के लिए सेट करके संभव है। ऐसे सेटअप के साथ, कॉलर आवश्यक होने पर सहमत इनपुट पैरामीटर भेजकर सिंक को अक्षम कर सकेगा।
सामान्य उपयोग के मामले
इस ब्लॉक का उपयोग [ब्लॉक प्रकार के आधार पर उद्देश्य] के लिए करें
अन्य ब्लॉक्स से कनेक्ट करना
इस ब्लॉक के आउटपुट आपके वर्कफ़्लो में अन्य ब्लॉकों से जोड़े जा सकते हैं।
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "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]]
Multipart-Encoded File के रूप में 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 में रखने के लिए फ़ील्ड्स.
✅
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
int
रिमोट API प्रतिक्रिया के लिए प्रतीक्षा करने के सेकंडों की संख्या.
✅
fire_and_forget
bool
तेज़ वर्कफ़्लोज़ के लिए ब्लॉक को असमकालिक रूप से (True) या डिबगिंग और त्रुटि प्रबंधन के लिए समकालिक रूप से (False) चलाने वाला बूलियन फ़्लैग..
✅
disable_sink
bool
ब्लॉक निष्पादन को अक्षम करने वाला बूलियन फ़्लैग..
✅
cooldown_seconds
int
फॉलो-अप सूचना भेजी जा सके, तब तक प्रतीक्षा करने के सेकंडों की संख्या..
✅
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
रनटाइम संगतता
requires_internet - air-gapped / offline deployments : यह ब्लॉक ऐसी सेवा पर निर्भर करता है जो पूरी तरह ऑफ़लाइन / air-gapped deployments से पहुँचा नहीं जा सकता।
सॉफ्ट - रनटाइम hosted_serverless, dedicated_deployment; निष्पादन दूरस्थ : Cooldown / rate-limit timer process memory में संग्रहीत होता है। stateless या multi-replica HTTP runtimes पर remote step execution के साथ प्रत्येक अनुरोध को एक नया worker मिलता है, इसलिए cooldown throttling नहीं करता। Cooldown केवल persistent WebRTC session में local step execution के साथ दस्तावेज़ के अनुसार काम करता है।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार वेबहुक सिंक संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
url(string): अनुरोध करने के लिए संसाधन का URL.query_parameters(Union[roboflow_model_id,list_of_values,पूर्णांक,string,float,boolean,roboflow_api_key,top_class,roboflow_project,float_zero_to_one]): अनुरोध क्वेरी पैरामीटर.headers(Union[roboflow_model_id,पूर्णांक,float_zero_to_one,string,float,roboflow_api_key,top_class,roboflow_project,boolean]): अनुरोध हेडर.json_payload(*): JSON पेलोड में रखने के लिए फ़ील्ड्स.multi_part_encoded_files(*): Multipart-Encoded File के रूप में POST करने के लिए डेटा.form_data(*): form-data में रखने के लिए फ़ील्ड्स.request_timeout(पूर्णांक): रिमोट API प्रतिक्रिया के लिए प्रतीक्षा करने के सेकंडों की संख्या.fire_and_forget(boolean): तेज़ वर्कफ़्लोज़ के लिए ब्लॉक को असमकालिक रूप से (True) या डिबगिंग और त्रुटि प्रबंधन के लिए समकालिक रूप से (False) चलाने वाला बूलियन फ़्लैग..disable_sink(boolean): ब्लॉक निष्पादन को अक्षम करने वाला बूलियन फ़्लैग..cooldown_seconds(पूर्णांक): फॉलो-अप सूचना भेजी जा सके, तब तक प्रतीक्षा करने के सेकंडों की संख्या..
अंतिम अपडेट
क्या यह उपयोगी था?