Datasources
外部ストレージから画像とメタデータを自動で同期し、Roboflow workspace に取り込みます。
Datasourcesを使うと、クラウドストレージからRoboflowのAsset Libraryへ画像とメタデータを継続的にミラーできます。一度ミラーされると、画像はセマンティクス、カスタムメタデータ、タグ、または画像類似度で検索でき、ラベリングとトレーニングのために任意のProjectへ追加できます。
現在、AWS S3およびS3互換のstorage bucketミラーリングがサポートされています。Azure Blob StorageとGoogle Cloud Storageのサポートは近日公開予定です。
ソースデータがAWS S3などのクラウドストレージにある場合は、Roboflowへのデフォルトの取り込み経路としてDatasourcesとBucket Mirrorを使用してください。署名付きURLアップロードやローカルダウンロードのworkflowsは、一度きりの取り込みや必要に応じた取り込みにのみ使用してください。
Bucket Mirror の仕組み
Datasourceを設定すると、RoboflowはS3 bucketをクロールし、条件に一致するすべての画像ファイルをWorkspaceの Asset Library.
サポートされる画像形式: JPEG, PNG, BMP, WebP, AVIF
Workspaceにすでに存在するファイル(S3の場所とハッシュで一致するもの)は再インポートされないため、egressコストを削減できます
もし
.jsonというsidecar fileが同じベース名の画像と並んで存在する場合、そのメタデータが取り込まれます。ネストされたキーはドット記法で平坦化されます(例:capture.temperature) — 参照: Metadata Sidecarsbucketから消えたファイルはデフォルトでは保持されます。代わりに削除するには、orphan removalを有効にしてください(参照: Removing Orphaned Files)
BucketをRoboflowにミラーリングする
前提条件
画像データを含むAWS S3 bucket
そのbucketから読み取れる再利用可能なRoboflow credential。参照: Datasource Credentials、次に AWS S3 Credentials.
RoboflowでCredentialを追加する
Roboflowはbucketアクセスを、安全に暗号化された再利用可能なcredentialとして保存します。AWSのセットアップ手順と最小権限のガイダンスについては、 AWS S3 Credentials.
へ移動し、 Credentials をWorkspace settingsで開いて Add Credential.
Bucket Mirroring用のDatasourceを設定する
Workspace settingsから新しいDatasourceを作成します。フォームには2つのタブがあります: 「Connection」にはbucketの詳細とアクセス情報が含まれます: name, provider, bucket, region, and Credential. 保存済みのCredentialを「Credential」ドロップダウンから選択するか、フォームを離れずに追加するには横の「+」を使ってください。
「Mirror Configuration」には、import destination、file filters、mirror behaviorが含まれます。
「Mirror Configuration」には、import destination、file filters、mirror behaviorが含まれます。
Import Destination の選択
「Mirror Configuration」の下にある「Import Destination」セクションで、ミラーされたファイルの保存先を制御します。各Datasourceは1つのdestinationにだけ取り込みます。別の場所に取り込むには、Datasourceを追加してください。
「Workspace」は Asset Libraryへミラーリングします。 「Import into」ドロップダウンを使ってファイルをWorkspaceルートに保持するか、Projectを選択してそのProjectにも追加します。
「Folder」は、ミラーされた画像をプロジェクトフォルダに限定し、そのフォルダのチームだけが閲覧できます。このオプションは以下のプランで利用できます: Project Folder Permissions.
Globパターンによるフィルタリング
デフォルトでは、bucket内のサポートされるすべての画像ファイルがインポートされます。globパターンを使って、直接指定するか、bucketに保存された .txt ファイル経由で、どのファイルをインポートするかを制限できます。
globパターンの代わりに、ファイルパスの明示的なwhitelistを指定することもできます。
パターンの意味
*は/を除く任意の文字列に一致します(単一のディレクトリ階層)**は/を含む任意の文字列に一致します(複数のディレクトリ階層)
例
プレフィックスで一致:
一致するもの: harvest, harvest2024, harvest/sun/file.jpg, harvest-data.png
一致しないもの: Harvest, my-harvest
フォルダ内のすべてに一致:
一致するもの: /harvest/sun/file.txt, /harvest/sun/subfolder/image.jpg, /harvest/sun/deep/nested/path/data.png
一致しないもの: /harvest/moon/file.txt, /other/sun/file.txt
サブツリー内でサフィックスで一致:
一致するもの: /planting/wheat-crops.png, /planting/subfolder/rice-crops.png
一致しないもの: /planting/wheat.png, /other/wheat-crops.png
名前パターンを使って特定のディレクトリ階層で一致:
一致するもの: /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
完全一致のパス:
その特定のファイルのみに一致します。
ファイル名内のリテラルなワイルドカード:
パターンを引用符で囲むと、 * をリテラル文字として扱えます:
Removing Orphaned Files
orphan removalはデフォルトではオフなので、bucketから消えたファイルは保持されます。 removeOrphanedSourcesWhenDisappeared が有効な場合、S3 bucketにもう存在しない(またはglobパターンにもう一致しない)ファイルは、どのProjectや他のDatasource設定からも参照されていなければ、Roboflow Workspaceから削除されます。
これはDatasourceを削除した場合にも適用されます。orphan removalが有効で、bucketが少なくとも1回ミラーされている場合、そのbucket由来の画像で他のProjectで使われていないものは、cleanup workerによって削除されることがあります。削除確認ダイアログはこれについて警告し、続行前に明示的な確認を求めます。これを避けるには、削除する前にDatasourceのmirror configsでorphan removalを無効にしてください。
ファイル名の付け方
この namingStrategy 設定は、Roboflowでインポートされたファイルの命名と表示方法を制御します:
fullPath
完全なS3 key pathをファイル名として使用します(デフォルト)
fileName
S3 keyのファイル名部分のみを使用します
eTag
S3 objectのETagを使用します
metadata
次で指定された画像のメタデータの値を使用します: namingStrategyMetadataKey (必須)
画像の更新
S3内の画像が変更されると、RoboflowはWorkspace内のコピーを更新できます:
updateImageWhenNewer(デフォルト:true) — S3 objectが保存済みバージョンより新しい場合に画像を再インポートしますupdateImageStrategy— 更新の適用方法を制御します。現在サポートされているのはoverwrite(既存の画像を置き換える)です
Metadata Sidecars
各画像の横に同じベース名を使った .json sidecar fileをbucketに配置してメタデータを画像に付与します:
sidecar fileにはkey-value pairが含まれます:
ネストされたオブジェクトはドット記法で平坦化されます。上の例では次が生成されます:
camera_id
"cam001"
location
"warehouse-3"
capture.temperature
72.5
capture.humidity
45
sidecar fileの制約:
最大ファイルサイズ: 256 KB
有効なJSONである必要があります
nullとundefinedの値は除外されます
Metadata Sync Strategies
画像のmetadata sidecar .json ファイルがS3で更新されると、更新の適用方法を制御する2つの設定があります:
updateMetadataWhenNewer(デフォルト:true) — sidecar fileが保存済みバージョンより新しい場合にメタデータを再同期しますupdateMetadataStrategy— 同期されたメタデータが、UIまたはAPI経由で手動設定したメタデータとどのように連携するかを制御します:
mergeBucketWins (デフォルト)
両方のソースを結合します。キーの競合時はbucketの値が優先されます
mergeUserWins
両方のソースを結合します。キーの競合時はユーザー設定の値が優先されます
overwrite
bucketメタデータは既存のメタデータを完全に置き換えます
untilFirstChange
ユーザーがいずれかのメタデータフィールドを手動で編集するまでbucketから同期し、その後は停止します
append
bucketから新しいキーのみを追加し、既存のキーは上書きしません
ミラーリングのトリガー
Datasourcesは定期スケジュールでミラーリングします。また、いつでも手動でミラーをトリガーできます。 Datasources list から、Datasourceの横にある再生ボタンをクリックしてください。
手動トリガーには次のガードがあります:
進行中: すでに同期が実行中の場合、完了するまで次の同期を開始できません。
クールダウン: 同期が完了すると、手動での再トリガーは15分間ブロックされます。ボタンのツールチップには残り時間が表示されます。クールダウンは次の場合にスキップされます:
前回の同期で新しく取り込むものが何も見つからなかった場合(キューに入ったファイルが0件、またはすべてのファイルが失敗)。
前回実行以降にDatasource設定を編集した場合。
前回の実行がエラーで完了した場合。
毎時上限: Datasourceは、ローリング1時間あたり最大10回まで同期できます。この上限は、クールダウンスキップで即時再トリガーが可能な場合でも適用されます。
スケジュール済み(cron)同期は、クールダウンと毎時上限の両方をバイパスします。
同期済みAssetの表示
各 datasource entries には目のアイコンがあり、 Asset Library その特定のDatasourceの画像と動画に絞り込まれた状態で開きます。このアイコンは、そのDatasourceが少なくとも1回同期を完了するまで無効です。
任意のDatasourceから同期されたすべての画像を表示するには、Datasources listの下部にある「View Datasource Assets」をクリックします。このリンクは、少なくとも1つのDatasourceが実行された後に表示されます。
どちらのリンクも、タグフィルターがあらかじめ入力されたAsset Libraryに移動するため、Workspace画像のうちbucketミラーリングされた部分だけを閲覧、検索、管理できます。
S3互換ストレージ
Datasourcesは、必要なS3 API操作を実装したS3互換のstorage providerで動作します。
これらのproviderを設定するには:
Datasourceの「Connection」タブで
S3をproviderとして選択します。通常どおりbucket名とcredentialsを入力します。
provider固有のカスタム
endpointURLを定義します。regionを
autoまたはprovider固有のregion値に設定します。
providerのS3 API endpointに使用します。 endpointCDN URL、公開bucket URL、またはブラウザダウンロードURLは使用しないでください。
同じglobパターンのフィルタリング、metadata sidecarの挙動、およびmirror設定は、これらのproviderでも機能します。
サポートされるS3互換storage providerには次が含まれます:
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互換性
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
最終更新
役に立ちましたか?