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

Azure Blob Storage

Azure Blob Storage से Roboflow में Images upload करें

Azure Blob Storage में image data storage को संभालते समय और Roboflow पर upload करते समय, आमतौर पर आपके पास दो विकल्प होते हैं: signed URLs का उपयोग करना या images को स्थानीय रूप से manually download करना (Azure CLI के माध्यम से) ताकि उन्हें locally upload किया जा सके। इन तरीकों में से चुनाव आपके data processing और management की विशिष्ट आवश्यकताओं पर निर्भर करता है।

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

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

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

Azure Connection String

Storage Account बनाने के बाद, आप Azure portal में "Security + networking" के तहत "Access keys" अनुभाग में access keys या connection string ढूँढ सकते हैं। इन credentials का उपयोग आपके application को authenticate करने के लिए किया जाता है।

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

आप Python में Azure SDK द्वारा Azure Blob Storage में अपनी images के लिए signed URLs generate कर सकते हैं।

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

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

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

विकल्प 2: Azure से Data को Local रूप से Download करें

पहले, install करें azcopy command line utility. यह utility आपको Azure Storage से files और folders डाउनलोड करने देती है। फिर, अपने Azure account के साथ एक Shared Access Signature आप इसके बारे में अधिक जान सकते हैं SAS token प्राप्त करने का तरीका azcopy documentation में।

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

बदलें C:\local\path उस फ़ोल्डर या फ़ाइल के path से बदलें जिसे आप डाउनलोड करना चाहते हैं। को बदलें <sas-token> मान को authentication के लिए SAS token से बदलें। यदि आप files और folders को recursively download करना चाहते हैं, तो जैसा ऊपर है, --recursive=true argument निर्दिष्ट करें। अन्यथा, इस argument को हटाएँ।

Roboflow पर Data Upload करें

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

यह भी देखें

अंतिम अपडेट

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