AWS S3 Bucket

AWS S3 bucket से Roboflow में Images upload करें

AWS S3 में इमेज डेटा स्टोरेज को संभालते समय और Roboflow पर अपलोड करते समय, आपके पास आम तौर पर दो विकल्प होते हैं: signed URLs का उपयोग करना या images को manually locally डाउनलोड करना (AWS CLI के माध्यम से) ताकि उन्हें locally अपलोड किया जा सके। इन तरीकों के बीच चुनाव data processing और management के लिए आपकी विशिष्ट जरूरतों पर निर्भर करता है।

  • Signed URLs: यदि आप images को अपनी local machine पर डाउनलोड करने से जुड़ा अतिरिक्त चरण और समय-खपत से बचना चाहते हैं, तो यह तरीका विशेष रूप से लाभदायक है। एक signed URL के साथ, आप image data को S3 से सीधे Roboflow API पर बिना कभी उसे locally store किए अपलोड कर सकते हैं। इससे processing तेज़ होती है और आपकी local system पर कम load पड़ता है।

  • CLI Locally: ऐसे scenarios हो सकते हैं जहाँ आप पहले images को अपने local environment में download करना पसंद करेंगे। उदाहरण के लिए, यदि आपको Roboflow पर upload करने से पहले images को preprocess करना है या manually check करना है, तो local copies होना लाभदायक होगा।

सही method चुनना आपकी specific use-case requirements पर निर्भर करेगा, जैसे data transfer की speed, preprocessing की आवश्यकता, या images की manual inspection।

AWS CLI सेटअप

स्क्रिप्ट का उपयोग करने से पहले, सुनिश्चित करें कि आपने आवश्यक authentication credentials के साथ AWS CLI सेट अप कर लिया है। इससे आप इच्छित S3 bucket तक पहुंच और उसे manage कर सकेंगे।

AWS CLI को कॉन्फ़िगर करना

  1. AWS CLI इंस्टॉल करने के बाद, एक terminal या command prompt खोलें।

  2. निम्नलिखित command चलाएँ:

    aws configure
  3. आपसे अपने AWS credentials दर्ज करने के लिए कहा जाएगा:

    AWS Access Key ID [None]: YOUR_ACCESS_KEY
    AWS Secret Access Key [None]: YOUR_SECRET_ACCESS_KEY
    Default region name [None]: YOUR_PREFERRED_REGION (जैसे, us-west-1)
    Default output format [None]: json

Option 1: Upload Via Signed URL:

आप Python में boto3 का उपयोग करके S3 bucket में अपनी images के लिए signed URLs generate कर सकते हैं।

ऊपर दिए गए code snippet में, आपको अपने S3 bucket का नाम, S3 bucket में image के लिए object name, और aws region की आवश्यकता होगी। image का signed URL generate होकर वापस किया जाता है।

इसी आधार पर, हम एक complete solution बना सकते हैं जो S3 bucket में उपलब्ध सभी objects को pull करता है, और फिर उन्हें API के माध्यम से Roboflow पर upload करता है। इस solution की एक outline नीचे देखी जा सकती है:

विकल्प 2: AWS से डेटा को लोकली डाउनलोड करें

AWS से डेटा upload करने के लिए, पहले awscli command line toolइंस्टॉल करें। यह tool आपको command line पर अपने AWS account के साथ interact करने की सुविधा देता है। command line tool इंस्टॉल करने के बाद, निम्नलिखित command चलाएँ:

इसे बदलें mybucket अपने bucket के नाम के साथ और folder_path उस folder या file के नाम के साथ जिसे आप export करना चाहते हैं। यह comamnd AWS से एक asset को आपकी current working directory में डाउनलोड करेगा (.).

Roboflow पर Data Upload करें

अब जब हमने data download कर लिया है, हम इसे Roboflow पर या तो निम्न का उपयोग करके upload कर सकते हैं Upload Web Interface या Roboflow CLI.

यह भी देखें

अंतिम अपडेट

क्या यह उपयोगी था?