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

Datasources

बाहरी storage से images और metadata को स्वचालित रूप से आपके Roboflow workspace में sync करें।

Datasources आपको cloud storage से images और metadata को लगातार Roboflow asset library में mirror करने देते हैं। एक बार mirror हो जाने पर, images semantics, custom metadata, tags, या image similarity के आधार पर searchable होती हैं, और labeling तथा training के लिए किसी भी Project में जोड़ी जा सकती हैं।

फिलहाल, AWS S3 और S3-compatible storage bucket mirroring समर्थित है। Azure Blob Storage और Google Cloud Storage का support जल्द आ रहा है।

Bucket Mirror कैसे काम करता है

जब आप एक Datasource configure करते हैं, तो Roboflow आपके S3 bucket को crawl करता है और सभी matching image files को आपके Workspace के Asset Library.

  • समर्थित image formats: JPEG, PNG, BMP, WebP, AVIF

  • आपके workspace में पहले से मौजूद files (उनके S3 location और hash के आधार पर matched) दोबारा import नहीं की जातीं, जिससे egress costs कम होती हैं

  • यदि कोई .json sidecar file उसी base name वाली image के साथ मौजूद है, तो उसका metadata import किया जाता है; nested keys को dot notation का उपयोग करके flatten किया जाता है (उदा., capture.temperature) — देखें Metadata Sidecars

  • जो files bucket से गायब हो जाती हैं, वे default रूप से रखी जाती हैं; इसके बजाय उन्हें delete करने के लिए orphan removal सक्षम करें (देखें Removing Orphaned Files)

अपने Bucket को Roboflow में Mirror करें

पूर्व-आवश्यकताएँ

  1. एक AWS S3 bucket जिसमें आपका image data हो

  2. एक reusable Roboflow credential जो उस bucket से पढ़ सके। देखें Datasource Credentials, फिर अनुसरण करें AWS S3 Credentials.

Roboflow में एक Credential जोड़ें

Roboflow आपके bucket access को सुरक्षित रूप से और encrypted रूप में एक reusable credential के तौर पर संग्रहीत करता है। AWS setup steps और least-privilege guidance के लिए, उपयोग करें AWS S3 Credentials.

जाएँ Credentials अपने Workspace settings में और क्लिक करें Add Credential.

Bucket Mirroring के लिए एक Datasource configure करें

एक नया Datasource बनाएँ अपने workspace settings से। इस form में दो tabs हैं:

  • "Connection" bucket details और access को रखता है: name, provider, bucket, region, और Credential। अपने saved Credential को "Credential" dropdown से चुनें, या form छोड़े बिना जोड़ने के लिए उसके पास वाले "+" का उपयोग करें।

  • "Mirror Configuration" import destination, file filters, और mirror behavior को रखता है।

Import Destination चुनना

"Mirror Configuration" के अंतर्गत, "Import Destination" section नियंत्रित करता है कि mirrored files कहाँ जाएँगी। प्रत्येक Datasource केवल एक destination में import करता है; कहीं और import करने के लिए एक और Datasource जोड़ें।

  • "Workspace" में mirror होकर Asset Library. "Import into" dropdown का उपयोग करके files को workspace root पर रखें, या किसी Project को चुनें ताकि उन्हें उस Project में भी जोड़ा जा सके।

  • "Folder" mirrored images को एक project folder तक सीमित करता है ताकि केवल उस folder की team उन्हें देख सके। यह विकल्प उन plans पर उपलब्ध है जिनमें Project Folder Permissions.

Glob Patterns से फ़िल्टर करना

डिफ़ॉल्ट रूप से, bucket में मौजूद सभी समर्थित image files import हो जाती हैं। आप glob patterns का उपयोग करके यह सीमित कर सकते हैं कि कौन-सी files import हों, चाहे सीधे निर्दिष्ट करके या किसी .txt file के माध्यम से जो bucket में संग्रहीत है।

आप glob patterns के बजाय file paths की एक स्पष्ट whitelist भी प्रदान कर सकते हैं।

Pattern semantics

  • * को छोड़कर किसी भी characters से मेल खाता है / (single directory level)

  • ** समेत किसी भी characters से मेल खाता है / (multiple directory levels)

उदाहरण

prefix के आधार पर match करें:

मेल खाता है: harvest, harvest2024, harvest/sun/file.jpg, harvest-data.png मेल नहीं खाता: Harvest, my-harvest

folder के अंदर सब कुछ match करें:

मेल खाता है: /harvest/sun/file.txt, /harvest/sun/subfolder/image.jpg, /harvest/sun/deep/nested/path/data.png मेल नहीं खाता: /harvest/moon/file.txt, /other/sun/file.txt

subtree के भीतर suffix के आधार पर match करें:

मेल खाता है: /planting/wheat-crops.png, /planting/subfolder/rice-crops.png मेल नहीं खाता: /planting/wheat.png, /other/wheat-crops.png

नाम pattern के साथ किसी विशिष्ट directory level पर match करें:

मेल खाता है: /farm/a/field/weed-2025-10-27.png, /garden/a/plot/seaweed-data-2025-10-27.png मेल नहीं खाता: /farm/b/field/weed-2025-10-27.png

सटीक path:

केवल उसी विशिष्ट file से मेल खाता है।

फ़ाइलनाम में literal wildcards: pattern को quotes में रखें ताकि * को एक literal character के रूप में माना जाए:

Removing Orphaned Files

Orphan removal डिफ़ॉल्ट रूप से बंद रहता है, इसलिए जो files आपके bucket से गायब हो जाती हैं, उन्हें रखा जाता है। जब removeOrphanedSourcesWhenDisappeared सक्षम होता है, तो जो files अब आपके S3 bucket में मौजूद नहीं हैं (या अब आपके glob patterns से मेल नहीं खातीं) उन्हें आपके Roboflow workspace से हटाया जाता है, बशर्ते वे किसी Project या किसी अन्य Datasource configuration द्वारा संदर्भित न हों।

यह तब भी लागू होता है जब आप किसी Datasource को delete करते हैं। यदि orphan removal सक्षम है और bucket कम-से-कम एक बार mirror हो चुका है, तो उस bucket से originating images जो किसी अन्य Project में उपयोग नहीं हो रही हैं, cleanup worker द्वारा हटाई जा सकती हैं। delete confirmation dialog आपको इसके बारे में चेतावनी देगा और आगे बढ़ने से पहले स्पष्ट acknowledgement की आवश्यकता होगी। इससे बचने के लिए, delete करने से पहले Datasource की mirror configs पर orphan removal बंद करें।

File Naming

यह namingStrategy setting नियंत्रित करता है कि imported files का नाम कैसे रखा जाए और Roboflow में उन्हें कैसे दिखाया जाए:

रणनीति
विवरण

fullPath

पूरा S3 key path filename के रूप में उपयोग करता है (default)

fileName

S3 key के केवल filename भाग का उपयोग करता है

eTag

S3 object ETag का उपयोग करता है

metadata

image के metadata से एक value का उपयोग करता है, जिसे द्वारा निर्दिष्ट किया गया है namingStrategyMetadataKey (आवश्यक)

Image Updates

जब S3 में कोई image संशोधित होती है, तो Roboflow आपके workspace में उसकी copy को update कर सकता है:

  • updateImageWhenNewer (default: true) — जब S3 object संग्रहीत version से नया हो, तब image को दोबारा import करता है

  • updateImageStrategy — नियंत्रित करता है कि update कैसे लागू किया जाए; फिलहाल overwrite (मौजूदा image को बदल देता है) समर्थित है

Metadata Sidecars

प्रत्येक image के साथ bucket में एक .json sidecar file रखकर images में metadata जोड़ें, उसी base name का उपयोग करते हुए:

sidecar file में key-value pairs होते हैं:

Nested objects को dot notation का उपयोग करके flatten किया जाता है। ऊपर दिया गया उदाहरण यह पैदा करता है:

कुंजी
मान

camera_id

"cam001"

location

"warehouse-3"

capture.temperature

72.5

capture.humidity

45

Sidecar file constraints:

  • अधिकतम file size: 256 KB

  • मान्य JSON होना चाहिए

  • null और undefined values फ़िल्टर कर दिए जाते हैं

Metadata Sync Strategies

जब किसी image का metadata sidecar .json file S3 में update होता है, तो दो settings नियंत्रित करती हैं कि update कैसे लागू किया जाए:

  • updateMetadataWhenNewer (default: true) — जब sidecar file संग्रहीत version से नया हो, तब metadata को फिर से sync करता है

  • updateMetadataStrategy — नियंत्रित करता है कि synced metadata UI या API के माध्यम से आपके द्वारा manually सेट किए गए metadata के साथ कैसे इंटरैक्ट करता है:

रणनीति
व्यवहार

mergeBucketWins (default)

दोनों sources को merge करता है; key conflicts होने पर bucket value जीतती है

mergeUserWins

दोनों sources को merge करता है; key conflicts होने पर user-set value जीतती है

overwrite

Bucket metadata मौजूदा सभी metadata को पूरी तरह बदल देता है

untilFirstChange

bucket से तब तक sync करता है जब तक कोई user किसी metadata field को manually edit न कर दे, फिर रुक जाता है

append

केवल bucket से नए keys जोड़ता है; मौजूदा keys को कभी overwrite नहीं करता

एक Mirroring ट्रिगर करना

Datasources एक recurring schedule पर mirror करते हैं। आप किसी भी समय Datasources list से किसी Datasource के पास वाले play button पर क्लिक करके भी manually mirror ट्रिगर कर सकते हैं।

एक manual trigger निम्न guards के अधीन है:

  • In-progress: यदि कोई sync पहले से चल रहा है, तो उसके समाप्त होने तक आप दूसरा शुरू नहीं कर सकते।

  • Cooldown: एक sync पूरा होने के बाद, manual re-triggers 15 मिनट के लिए blocked रहते हैं। button tooltip दिखाता है कि कितने मिनट बाकी हैं। Cooldown इन स्थितियों में छोड़ दिया जाता है:

    • पिछले sync को import करने के लिए कुछ नया नहीं मिला (शून्य files enqueued, या सभी files विफल हो गईं)।

    • आपने आखिरी run के बाद से Datasource configuration संपादित की है।

    • आखिरी run त्रुटियों के साथ पूरा हुआ।

  • Hourly cap: एक Datasource को rolling hour में अधिकतम 10 बार sync किया जा सकता है। यह cap तब भी लागू होता है जब cooldown skip सामान्यतः तुरंत retrigger की अनुमति दे देता।

Scheduled (cron) syncs cooldown और hourly cap दोनों को बायपास करते हैं।

Synced Assets देखना

आपकी प्रत्येक datasource entries में एक eye icon होता है जो खोलता है Asset Library जो उस विशिष्ट Datasource की images और videos तक filtered है। Datasource द्वारा कम-से-कम एक sync पूरा होने तक यह icon disabled रहता है।

किसी भी Datasource से synced सभी images देखने के लिए, Datasources list के नीचे "View Datasource Assets" पर क्लिक करें। यह link तब दिखाई देता है जब कम-से-कम एक Datasource चल चुका हो।

दोनों links आपको Asset Library पर पहले से भरे हुए tag filter के साथ ले जाते हैं, ताकि आप अपने Workspace images के केवल bucket-mirrored subset को browse, search, और manage कर सकें।

S3-compatible storage

Datasources उन S3-compatible storage providers के साथ काम करते हैं जो आवश्यक S3 API operations लागू करते हैं।

इनमें से किसी provider को configure करने के लिए:

  1. Datasource के "Connection" tab में, चुनें S3 को provider के रूप में।

  2. आमतौर पर bucket name और credentials दर्ज करें।

  3. provider का custom endpoint URL परिभाषित करें।

  4. region को सेट करें auto या provider-विशिष्ट region value पर।

के लिए provider के S3 API endpoint का उपयोग करें endpoint. CDN URL, public bucket URL, या browser download URL का उपयोग न करें।

यही glob pattern filtering, metadata sidecar behavior, और mirror settings इन providers के साथ भी काम करते हैं।

समर्थित S3-compatible storage providers में शामिल हैं:

Provider
उदाहरण endpoint hostname

Cloudflare R2

<account-id>.r2.cloudflarestorage.com

Backblaze B2

s3.<region>.backblazeb2.com

DigitalOcean Spaces

<region>.digitaloceanspaces.com

Akamai Linode Object Storage

<region>.linodeobjects.com

Wasabi

s3.<region>.wasabisys.com

Vultr Object Storage

<region>.vultrobjects.com

OVHcloud Object Storage

s3.<region>.io.cloud.ovh.net

Scaleway Object Storage

s3.<region>.scw.cloud

Open Telekom Cloud

obs.<region>.otc.t-systems.com

Exoscale SOS

sos-<region>.exo.io

IONOS Cloud Object Storage

s3-<region>.ionoscloud.com

IBM Cloud Object Storage

s3.<region>.cloud-object-storage.appdomain.cloud

Oracle Cloud Infrastructure Object Storage S3 Compatibility

compat.objectstorage.<region>.oraclecloud.com

Seagate Lyve Cloud

s3.<region>.lyvecloud.seagate.com

Huawei Cloud OBS

obs.<region>.myhuaweicloud.com

Alibaba Cloud OSS

oss-<region>.aliyuncs.com

Tencent Cloud COS

cos.<region>.myqcloud.com

Yandex Object Storage

storage.yandexcloud.net

Storj Hosted S3 Gateway

gateway.storjshare.io

अंतिम अपडेट

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