Local File Sink
डेटा को स्थानीय फ़ाइल में सहेजें।
स्थानीय फ़ाइल-प्रणाली पर वर्कफ़्लो डेटा को फ़ाइलों के रूप में सहेजें, CSV, JSON, और टेक्स्ट फ़ाइल प्रारूपों का समर्थन करते हुए, तथा कॉन्फ़िगर किए जा सकने वाले आउटपुट मोड के साथ, जिससे कई प्रविष्टियों को एक ही फ़ाइल में समेकित किया जा सके या प्रत्येक प्रविष्टि को अलग-अलग सहेजा जा सके, जिससे स्थायी डेटा संग्रहण, लॉगिंग, और फ़ाइल-आधारित डेटा निर्यात संभव हो सके।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक वर्कफ़्लो चरणों से प्राप्त स्ट्रिंग सामग्री को स्थानीय फ़ाइल-प्रणाली पर फ़ाइलों में लिखता है। ब्लॉक:
स्ट्रिंग सामग्री (फ़ॉर्मैटर, प्रेडिक्शन्स, या अन्य स्ट्रिंग उत्पन्न करने वाले ब्लॉकों से) और फ़ाइल कॉन्फ़िगरेशन को इनपुट के रूप में लेता है
फ़ाइल-प्रणाली पहुँच अनुमतियों को मान्य करता है (जाँचता है कि पर्यावरण कॉन्फ़िगरेशन के आधार पर स्थानीय संग्रहण पहुँच की अनुमति है या नहीं)
लक्ष्य निर्देशिका के लिए लेखन अनुमतियों की पुष्टि करता है (यदि कॉन्फ़िगर किया गया हो, तो अनुमत लेखन निर्देशिका प्रतिबंधों के विरुद्ध जाँचता है)
के आधार पर उपयुक्त फ़ाइल सहेजने की रणनीति चुनता है
output_mode:अलग फ़ाइलें मोड: प्रत्येक इनपुट के लिए एक नई फ़ाइल बनाता है, और टाइमस्टैम्प के साथ अद्वितीय फ़ाइलनाम उत्पन्न करता है
ऐपेंड लॉग मोड: सामग्री को किसी मौजूदा फ़ाइल में जोड़ता है (या आवश्यकता होने पर एक नई फ़ाइल बनाता है), और कई प्रविष्टियों को समेकित करता है
के लिए अलग फ़ाइलें मोड: लक्ष्य निर्देशिका, फ़ाइल नाम प्रीफ़िक्स, फ़ाइल प्रकार, और एक टाइमस्टैम्प का उपयोग करके एक अद्वितीय फ़ाइल पथ बनाता है, फिर सामग्री को नई फ़ाइल में लिखता है
के लिए ऐपेंड लॉग मोड:
फ़ाइल नाम प्रीफ़िक्स और प्रकार के आधार पर एक फ़ाइल खोलता है या बनाता है
अपेंड करने के लिए प्रारूप-विशिष्ट हैंडलिंग लागू करता है:
CSV: बाद के अपेंड्स से हेडर पंक्ति हटाता है (CSV सामग्री में पहली लिखाई पर हेडर शामिल होने चाहिए)
JSON: JSONL (JSON Lines) प्रारूप में बदलता है, प्रत्येक JSON दस्तावेज़ को पार्स करके फिर से सीरियलाइज़ करता है ताकि वह एक ही पंक्ति में आ सके
TXT: सामग्री को नई पंक्तियों के साथ सीधे जोड़ता है
प्रविष्टि संख्या पर नज़र रखता है और एक नई फ़ाइल बनाता है जब
max_entries_per_fileसीमा पूरी हो जाती है
यदि मूल निर्देशिकाएँ मौजूद नहीं हैं, तो उन्हें बनाता है
सामग्री को फ़ाइल में लिखता है (न्यूलाइन समाप्ति सुनिश्चित करते हुए)
सेव सफल हुआ या विफल, यह इंगित करने वाली त्रुटि स्थिति और संदेश लौटाता है
यह ब्लॉक दो भिन्न संग्रहण रणनीतियों का समर्थन करता है: separate files मोड प्रत्येक इनपुट के लिए अलग-अलग टाइमस्टैम्प वाली फ़ाइलें बनाता है (निष्पादन के अनुसार आउटपुट व्यवस्थित करने के लिए उपयोगी), जबकि append log मोड कई प्रविष्टियों को सतत लॉग फ़ाइलों में समेकित करता है (समय-श्रृंखला डेटा लॉगिंग के लिए उपयोगी)। फ़ाइल पथ निर्माण में टाइमस्टैम्प शामिल होते हैं (प्रारूप: YYYY_MM_DD_HH_MM_SS_microseconds) ताकि अद्वितीय फ़ाइलनाम और कालानुक्रमिक व्यवस्था सुनिश्चित हो सके। append log मोड में, ब्लॉक निष्पादन के बीच फ़ाइल हैंडल बनाए रखता है और प्रविष्टि सीमाएँ पूरी होने पर स्वचालित रूप से फ़ाइल रोटेशन संभालता है।
आवश्यकताएँ
स्थानीय फ़ाइल-प्रणाली पहुँच: इस ब्लॉक को स्थानीय फ़ाइल-प्रणाली पर लेखन पहुँच की आवश्यकता होती है। फ़ाइल-प्रणाली पहुँच को environment variables के माध्यम से नियंत्रित किया जा सकता है:
सेट करें
ALLOW_WORKFLOW_BLOCKS_ACCESSING_LOCAL_STORAGE=Falseस्थानीय फ़ाइल sink कार्यक्षमता को निष्क्रिय करने के लिए (ब्लॉक त्रुटि उत्पन्न करेगा)सेट करें
WORKFLOW_BLOCKS_WRITE_DIRECTORYलेखन को केवल किसी विशिष्ट निर्देशिका और उसकी उपनिर्देशिकाओं तक सीमित करने के लिए इसे एक पूर्ण पथ पर सेट करें
Append Log मोड प्रारूप हैंडलिंग पर नोट:
Append मोड में CSV फ़ाइलों के लिए, सामग्री में पहली लिखाई पर हेडर पंक्तियाँ शामिल होनी चाहिए; हेडर बाद के अपेंड्स से स्वचालित रूप से हटा दिए जाते हैं
Append mode में JSON फ़ाइलों के लिए, फ़ाइलें
.jsonlएक्सटेंशन के साथ JSON Lines प्रारूप में (प्रति पंक्ति एक JSON ऑब्जेक्ट)
सामान्य उपयोग के मामले
डेटा लॉगिंग और ऑडिट ट्रेल्स: वर्कफ़्लो निष्पादन डेटा, पहचान परिणाम, या मेट्रिक्स को स्थानीय लॉग फ़ाइलों में सहेजें (उदा., पहचानों के CSV लॉग्स को अपेंड करें, वर्कफ़्लो आउटपुट के JSON लॉग्स), जिससे उत्पादन वर्कफ़्लो के लिए स्थायी लॉगिंग और ऑडिट ट्रेल्स संभव हों
फ़ाइल-आधारित डेटा निर्यात: बाहरी प्रसंस्करण के लिए फ़ाइलों में स्वरूपित वर्कफ़्लो डेटा निर्यात करें (उदा., CSV Formatter से CSV निर्यात सहेजें, डाउनस्ट्रीम टूल्स के लिए JSON निर्यात), जिससे फ़ाइल-आधारित डेटा प्रसंस्करण पाइपलाइनों के साथ एकीकरण संभव हो
समय-श्रृंखला डेटा संग्रह: समय के साथ वर्कफ़्लो मेट्रिक्स को सतत लॉग फ़ाइलों में समेकित करें (उदा., टाइमस्टैम्प के साथ CSV पंक्तियाँ जोड़ें, प्रति फ़्रेम पहचान गणनाएँ लॉग करें), जिससे विश्लेषण और रिपोर्टिंग के लिए स्थायी समय-श्रृंखला डेटासेट बनते हैं
बैच परिणाम संग्रहण: बैच प्रसंस्करण वर्कफ़्लो से व्यक्तिगत परिणामों को अलग-अलग फ़ाइलों में सहेजें (उदा., प्रत्येक छवि के पहचान परिणामों को अलग JSON फ़ाइलों में सहेजें), जिससे अद्वितीय फ़ाइलनामों के साथ बैच प्रसंस्करण आउटपुट का सुव्यवस्थित संग्रहण संभव हो
डेटा अभिलेखीकरण: वर्कफ़्लो आउटपुट और परिणामों को स्थानीय संग्रहण में अभिलेखित करें (उदा., स्वरूपित रिपोर्टें सहेजें, विश्लेषण परिणाम निर्यात करें), जिससे दीर्घकालिक डेटा संरक्षण और बैकअप वर्कफ़्लो संभव हों
फ़ाइल-आधारित सिस्टमों के साथ एकीकरण: बाहरी टूल्स के साथ संगत फ़ाइल प्रारूपों में वर्कफ़्लो डेटा संग्रहीत करें (उदा., स्प्रेडशीट विश्लेषण के लिए CSV सहेजें, डेटा प्रसंस्करण पाइपलाइनों के लिए JSONL), जिससे फ़ाइल-आधारित सिस्टमों के साथ निर्बाध डेटा विनिमय संभव हो
अन्य ब्लॉक्स से कनेक्ट करना
यह ब्लॉक वर्कफ़्लो चरणों से स्ट्रिंग सामग्री प्राप्त करता है और उसे फ़ाइलों में सहेजता है:
फ़ॉर्मेटर ब्लॉकों के बाद (उदा., CSV Formatter) स्वरूपित डेटा (CSV, JSON, या टेक्स्ट) को फ़ाइलों में सहेजने के लिए, जिससे संरचित वर्कफ़्लो आउटपुट का स्थायी संग्रहण संभव हो
detection या analysis ब्लॉकों के बाद जो स्ट्रिंग-प्रारूप डेटा आउटपुट करते हैं, ताकि अनुमान परिणामों, मेट्रिक्स, या विश्लेषण आउटपुट को लॉगिंग या अभिलेखन के लिए फ़ाइलों में सहेजा जा सके
डेटा प्रोसेसिंग ब्लॉकों के बाद (उदा., Expression, Property Definition) जो गणना किए गए या रूपांतरित डेटा को फ़ाइलों में सहेजने के लिए स्ट्रिंग आउटपुट उत्पन्न करते हैं
लॉगिंग वर्कफ़्लो में : वर्कफ़्लो निष्पादन के स्थायी ऑडिट ट्रेल्स और लॉग्स बनाने के लिए, जिससे प्रोडक्शन परिनियोजन के लिए रिकॉर्ड-रखरखाव और डिबगिंग संभव हो
बैच प्रसंस्करण कार्यप्रवाहों में जहाँ कई डेटा बिंदुओं को सहेजने की आवश्यकता होती है (या तो लॉग फ़ाइलों में समेकित करके या अलग फ़ाइलों के रूप में संग्रहीत करके), जिससे सुव्यवस्थित डेटा संग्रहण और भंडारण संभव हो
बाहरी प्रसंस्करण से पहले जहाँ वर्कफ़्लो डेटा को उन बाहरी टूल्स, स्क्रिप्ट्स, या सिस्टमों द्वारा उपयोग के लिए फ़ाइलों में सहेजना होता है जो फ़ाइल-प्रणाली संग्रहण से पढ़ते हैं
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/local_file_sink@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
file_type
str
बनाई जाने वाली फ़ाइल का प्रकार: 'csv' (CSV प्रारूप), 'json' (JSON प्रारूप, या append_log मोड में JSONL), या 'txt' (सादा पाठ)। सामग्री का प्रारूप इस फ़ाइल प्रकार से मेल खाना चाहिए। append_log मोड में, JSON फ़ाइलें .jsonl (JSON Lines) प्रारूप में सहेजी जाती हैं, जिसमें प्रति पंक्ति एक JSON ऑब्जेक्ट होता है..
❌
output_mode
str
फ़ाइल संगठन रणनीति: 'append_log' कई सामग्री प्रविष्टियों को एक ही फ़ाइल में समेकित करता है (समय-श्रृंखला लॉगिंग के लिए उपयोगी, ऐसी फ़ाइलें बनाता है जो समय के साथ बढ़ती हैं), जबकि 'separate_files' प्रत्येक इनपुट के लिए एक नई फ़ाइल बनाता है (व्यक्तिगत आउटपुट को व्यवस्थित करने के लिए उपयोगी, प्रत्येक फ़ाइल को टाइमस्टैम्प-आधारित अद्वितीय फ़ाइलनाम मिलता है)। append_log मोड में, ब्लॉक प्रारूप-विशिष्ट अपेंडिंग संभालता है (CSV हेडर हटाता है, JSON को JSONL में बदलता है)..
❌
target_directory
str
निर्देशिका पथ जहाँ फ़ाइलें सहेजी जाएँगी। यह सापेक्ष या पूर्ण पथ हो सकता है। यदि वे मौजूद न हों, तो मूल निर्देशिकाएँ स्वचालित रूप से बनाई जाती हैं। यदि WORKFLOW_BLOCKS_WRITE_DIRECTORY सेट है, तो यह पथ अनुमत निर्देशिका की एक उपनिर्देशिका होना चाहिए। फ़ाइलें file_name_prefix और टाइमस्टैम्प से उत्पन्न फ़ाइलनामों के साथ सहेजी जाती हैं..
✅
file_name_prefix
str
फ़ाइलनाम उत्पन्न करने के लिए प्रयुक्त प्रीफ़िक्स। टाइमस्टैम्प (प्रारूप: YYYY_MM_DD_HH_MM_SS_microseconds) और फ़ाइल एक्सटेंशन के साथ मिलाकर 'workflow_output_2024_10_18_14_09_57_622297.csv' जैसे अद्वितीय फ़ाइलनाम बनाए जाते हैं। append_log मोड के लिए, जब max_entries_per_file तक पहुँच जाता है, तो इसी प्रीफ़िक्स और नए टाइमस्टैम्प का उपयोग करके नई फ़ाइलें बनाई जाती हैं..
✅
max_entries_per_file
int
append_log मोड में प्रति फ़ाइल अनुमत प्रविष्टियों (सामग्री अपेंड्स) की अधिकतम संख्या। जब यह सीमा पूरी हो जाती है, तो उसी file_name_prefix और नए टाइमस्टैम्प के साथ एक नई फ़ाइल बनाई जाती है। यह केवल तब लागू होता है जब output_mode 'append_log' हो। कम-से-कम 1 होना चाहिए। इसका उपयोग फ़ाइल आकार नियंत्रित करने और लंबे समय तक चलने वाले वर्कफ़्लो के लिए फ़ाइल रोटेशन सक्षम करने हेतु करें..
✅
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
रनटाइम संगतता
सॉफ्ट - रनटाइम dedicated_deployment : फ़ाइलें परिनियोजन के वॉल्यूम पर स्थायी रहती हैं, लेकिन Roboflow API के माध्यम से पुनः प्राप्त नहीं की जा सकतीं; इन्हें केवल आंतरिक लॉग मानें।
सॉफ्ट - रनटाइम hosted_serverless : कंटेनर डिस्क अस्थायी है, इसलिए वर्कर के स्केल डाउन होने पर फ़ाइलें खो जाती हैं; यदि एक से अधिक replica वर्कफ़्लो अनुरोधों को उपभोग कर रहे हों, तो परिणाम गैर-निर्धार्य होगा..
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार लोकल फ़ाइल सिंक संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
content(string): स्ट्रिंग सामग्री जिसे फ़ाइल के रूप में सहेजा जाना है। यह अन्य वर्कफ़्लो ब्लॉकों से स्वरूपित डेटा होना चाहिए (उदा., CSV Formatter से CSV सामग्री, JSON स्ट्रिंग्स, या सादा पाठ)। सामग्री का प्रारूप निर्दिष्ट file_type से मेल खाना चाहिए। append_log मोड में, CSV फ़ाइलों में पहली लिखाई पर हेडर पंक्तियाँ शामिल होनी चाहिए..target_directory(string): निर्देशिका पथ जहाँ फ़ाइलें सहेजी जाएँगी। यह सापेक्ष या पूर्ण पथ हो सकता है। यदि वे मौजूद न हों, तो मूल निर्देशिकाएँ स्वचालित रूप से बनाई जाती हैं। यदि WORKFLOW_BLOCKS_WRITE_DIRECTORY सेट है, तो यह पथ अनुमत निर्देशिका की एक उपनिर्देशिका होना चाहिए। फ़ाइलें file_name_prefix और टाइमस्टैम्प से उत्पन्न फ़ाइलनामों के साथ सहेजी जाती हैं..file_name_prefix(string): फ़ाइलनाम उत्पन्न करने के लिए प्रयुक्त प्रीफ़िक्स। टाइमस्टैम्प (प्रारूप: YYYY_MM_DD_HH_MM_SS_microseconds) और फ़ाइल एक्सटेंशन के साथ मिलाकर 'workflow_output_2024_10_18_14_09_57_622297.csv' जैसे अद्वितीय फ़ाइलनाम बनाए जाते हैं। append_log मोड के लिए, जब max_entries_per_file तक पहुँच जाता है, तो इसी प्रीफ़िक्स और नए टाइमस्टैम्प का उपयोग करके नई फ़ाइलें बनाई जाती हैं..max_entries_per_file(string): append_log मोड में प्रति फ़ाइल अनुमत प्रविष्टियों (सामग्री अपेंड्स) की अधिकतम संख्या। जब यह सीमा पूरी हो जाती है, तो उसी file_name_prefix और नए टाइमस्टैम्प के साथ एक नई फ़ाइल बनाई जाती है। यह केवल तब लागू होता है जब output_mode 'append_log' हो। कम-से-कम 1 होना चाहिए। इसका उपयोग फ़ाइल आकार नियंत्रित करने और लंबे समय तक चलने वाले वर्कफ़्लो के लिए फ़ाइल रोटेशन सक्षम करने हेतु करें..
अंतिम अपडेट
क्या यह उपयोगी था?