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

Azure Blob Storage

Azure Blob Storage से Roboflow में इमेजेज़ अपलोड करें

यह पृष्ठ साइन किए गए URL और स्थानीय डाउनलोड वर्कफ़्लो को कवर करता है। यदि आपका स्रोत डेटा Azure में है, तो उपयोग करें Datasources और इस पैटर्न को अपनाने के बजाय Bucket Mirror का उपयोग करें।

Azure Blob Storage में छवि डेटा भंडारण और Roboflow पर अपलोड करने के मामले में, आपके पास आमतौर पर दो विकल्प होते हैं: साइन किए गए URL का उपयोग करना या छवियों को स्थानीय रूप से (Azure CLI के माध्यम से) मैन्युअल रूप से डाउनलोड करके उन्हें स्थानीय रूप से अपलोड करना। इन विधियों के बीच चुनाव डेटा प्रसंस्करण और प्रबंधन के लिए आपकी विशिष्ट आवश्यकताओं पर निर्भर करता है।

  • साइन किए गए URL: यह विधि विशेष रूप से लाभकारी है यदि आप छवियों को अपने स्थानीय मशीन पर डाउनलोड करने से जुड़ी अतिरिक्त प्रक्रिया और समय-खपत से बचना चाहते हैं। साइन किए गए URL के साथ, आप छवि डेटा को सीधे Azure Blob Storage से Roboflow API में बिना कभी भी इसे स्थानीय रूप से संग्रहीत किए अपलोड कर सकते हैं। इससे प्रसंस्करण तेज़ होता है और आपके स्थानीय सिस्टम पर कम भार पड़ता है।

  • CLI लोकलऐसी परिस्थितियाँ हो सकती हैं जहाँ आप पहले छवियों को अपने स्थानीय वातावरण में डाउनलोड करना पसंद करें। उदाहरण के लिए, यदि आपको Roboflow पर अपलोड करने से पहले छवियों को प्रीप्रोसेस करना है या उन्हें मैन्युअल रूप से जाँचना है, तो स्थानीय प्रतियाँ होना लाभकारी होगा।

सही तरीका चुनना आपकी विशिष्ट उपयोग-मामला आवश्यकताओं पर निर्भर करेगा, जैसे डेटा ट्रांसफर की गति, प्रीप्रोसेसिंग की आवश्यकता, या छवियों की मैन्युअल जाँच।

Azure कनेक्शन स्ट्रिंग

Storage Account बनाने के बाद, आप Azure पोर्टल में "Security + networking" के अंतर्गत "Access keys" अनुभाग में एक्सेस कुंजियाँ या कनेक्शन स्ट्रिंग पा सकते हैं। इन क्रेडेंशियल्स का उपयोग आपके एप्लिकेशन को प्रमाणित करने के लिए किया जाता है।

विकल्प 1: Signed URL के माध्यम से अपलोड करें

आप Python में Azure SDK द्वारा Azure Blob Storage में अपनी छवियों के लिए साइन किए गए URL जनरेट कर सकते हैं।

def get_blob_sas_url(blob_service_client, container_name: str, blob_name: str) -> str:
    """Azure Blob के लिए SAS URL जनरेट करें।"""
    from azure.storage.blob import generate_blob_sas, BlobSasPermissions
    from datetime import datetime, timedelta

    sas_token = generate_blob_sas(
        blob_service_client.account_name,
        container_name,
        blob_name,
        account_key=blob_service_client.credential.account_key,
        permission=BlobSasPermissions(read=True),
        expiry=datetime.utcnow() + timedelta(hours=1)
    )
    
    blob_url = f"https://{blob_service_client.account_name}.blob.core.windows.net/{container_name}/{blob_name}?{sas_token}"
    return blob_url

ऊपर दिए गए कोड स्निपेट में, आपको blob service client, container name, और blob name की आवश्यकता होती है। छवि का साइन किया गया URL जनरेट किया जाता है और लौटाया जाता है।

इसके आधार पर, हम एक पूर्ण समाधान बना सकते हैं जो Azure Blob Storage में उपलब्ध सभी objects को प्राप्त करता है, और फिर उन्हें API के माध्यम से Roboflow पर अपलोड करता है। इस समाधान का खाका नीचे देखा जा सकता है:

विकल्प 2: Azure से डेटा को स्थानीय रूप से डाउनलोड करें

सबसे पहले, स्थापित करें azcopy कमांड-लाइन यूटिलिटी। यह यूटिलिटी आपको Azure Storage से फ़ाइलें और फ़ोल्डर डाउनलोड करने देती है। फिर, एक का उपयोग करके अपने Azure खाते के साथ प्रमाणित करें Shared Access Signature आप इसके बारे में अधिक जान सकते हैं SAS टोकन कैसे प्राप्त करें azcopy दस्तावेज़ में।

एक बार जब आपके पास azcopy सेट अप करने के बाद, फ़ाइल या फ़ोल्डर डाउनलोड करने के लिए निम्न कमांड चलाएँ:

बदलें C:\local\path को उस फ़ोल्डर या फ़ाइल के पथ से बदलें जिसे आप डाउनलोड करना चाहते हैं। निम्न को बदलें <sas-token> मान को प्रमाणीकरण के लिए SAS टोकन से बदलें। यदि आप फ़ाइलों और फ़ोल्डरों को पुनरावर्ती रूप से डाउनलोड करना चाहते हैं, तो --recursive=true जैसा ऊपर दिखाया गया है, तर्क निर्दिष्ट करें। अन्यथा, इस तर्क को हटा दें।

Roboflow में डेटा अपलोड करें

अब जब हमने डेटा डाउनलोड कर लिया है, हम इसे Roboflow में या तो Upload Web Interface या Roboflow CLI.

यह भी देखें

अंतिम अपडेट

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