Azure Blob Storageとの連携#
Azure Blob Storageとの連携により、ストレージアカウントのコンテナーをUltralytics Platformに接続できます。画像はコンテナー内に保存されたままです。Platformはその場で画像をインデックス化するため、コピーをアップロードせずにYOLOモデルの閲覧、アノテーション、トレーニングを行えます。
Azure Blob Storageのデータセットを利用するには、ProまたはEnterpriseプランが必要です。Freeワークスペースでは連携機能が表示され、接続時にアップグレードが求められます。サブスクリプションが終了しても、既存のAzure Blob Storageデータセットには引き続き完全にアクセスできます。Proが必要なのは、新しい接続とインポートのみです。
接続文字列を取得する#
Platformはストレージから読み取るだけで、blobへの書き込み、変更、削除は一切行いません。現在の連携では、アカウント全体の権限を付与するアカウントアクセスキーの接続文字列が必要ですが、Platformが実行するのは一覧表示と読み取り操作のみです。
- Azureポータルで、ストレージアカウントを開きます。
- Security + networking > Access keysに移動します。
- connection stringをコピーします。
文字列には、AccountName、AccountKey、およびプロトコルとしてHTTPSが含まれている必要があります。これは、AzureのAccess
keysで提供される形式です。AccountKeyではなくSharedAccessSignatureを含むSASトークンの接続文字列は拒否されます。
接続には標準のblob.core.windows.netエンドポイントを使用します。ソブリンクラウド(Azure China、Azure Government)とカスタムBlobエンドポイントには対応していません。
Platformに接続する#
- Settings > Integrationsに移動し、連携の一覧からAzure Blob Storageを選択します。
- 接続文字列を貼り付けます。
- Find available containersをクリックし、接続するコンテナーを選択します。コンテナー名を手動で入力することもできます。
- Connectをクリックします。Platformは、選択した各コンテナーの一覧表示と読み取りが可能であることを確認してから、設定を保存します。

クラウドストレージに接続するには、ワークスペースの管理者または所有者のロールが必要です。1つの接続につき最大50個のコンテナーを設定でき、ストレージアカウント内のコンテナーは最大300個まで検出できます。
後から同じストレージアカウントに再接続すると、新しいコンテナーが既存の連携に追加されます。保存済みの認証情報は、置き換え後も接続済みのすべてのコンテナーを読み取れる場合にのみ更新されます。
アカウントキーがPlatform外に漏えいすると、書き込みや削除の操作が許可されたり、SASトークンが作成されたりする可能性があります。認証情報は保存時にAES-256-GCMで暗号化され、ブラウザーに返されることも、トレーニングワークロードに公開されることもありません。可能な場合は、専用のストレージアカウントを使用してください。アクセスを取り消すには、Azureでストレージアカウントのアクセスキーをローテーションしてください。
Blobコンテナーからデータセットを作成する#
- New Datasetをクリックし、Cloudタブを開きます。
- 接続済みのコンテナーを選択し、データを含むフォルダーを開きます。
- フォルダーを確認し、データセット名を調整して、データセットを作成します。
Platformはフォルダーの一覧を一度取得し、見つかった内容をインデックス化します。
- 画像 —
.jpg、.jpeg、.png、.webp、および.avifのblobがインデックス化されます。寸法は、上限を設けたリクエストを通じて読み取られます。Platformはソース画像のコピーを別途保存しません。 - ラベル — YOLOの
.txtサイドカーファイルはPlatformのアノテーションに変換され、標準のimages/→labels/の配置、または同じフォルダー内のファイルとして照合されます。 - メタデータ — YAMLファイルからクラス名とポーズキーポイントの形状が読み込まれます。これはアーカイブのアップロードと同じです。フォルダーに複数のファイルがある場合は、
data.yamlとdata.ymlが優先されます。 - タスク — ラベルファイルのサンプルをもとにタスクが判定されます。そのため、セグメント、ポーズ、OBBの各フォルダーは、ダイアログで選択したタスクではなく、ラベルの形式から認識されます。
- 分割 — blobパス内のフォルダー名が
train、val、testの場合、分割が自動的に割り当てられます。
その後、データセットは他のデータセットと同様に利用できます。閲覧やアノテーションを行い、公開または非公開に設定し、チームと共有し、マネージドトレーニングでトレーニングできます。オリジナル画像は必要に応じてストリーミングされ、インデックス化された画像はPlatformのストレージ割り当てを消費しません。
1回のインポートでインデックス化できるblobは最大500,000個で、ラベルファイルまたはYAMLファイルはそれぞれ最大1 MBです。これを超えるコンテナーは、複数のデータセットに分割してください。
インデックス化された各画像はblobのETagに固定されており、blobが変更されるとPlatformは処理を安全側に停止します。既存のblobを上書きせず、新しいblobを追加してください。
インポートに失敗した場合#
インポートに失敗した場合(フォルダーが空、パスに誤りがある、権限が取り消されたなど)、データセットのページにエラーが表示されます。編集者はRetry importをクリックして、保存済みのコンテナーとフォルダーを使って再試行するか、正しいパスを指定して新しいデータセットを作成できます。
再試行では処理を再開せず、フォルダーを再度一覧表示します。最初の試行後に追加されたblobは取り込まれ、フォルダーからなくなったblobはデータセットから削除されます。
学習#
マネージドトレーニングは通常のトレーニングフローで実行できます。トレーニング中は、固定された画像のPlatform独自のコピーが使用され、Azureの認証情報がトレーニングワークロードに公開されることはありません。
接続を解除する#
接続を解除すると、Azure上のデータには一切触れずに、保存済みの接続文字列が削除されます。それらのコンテナーから作成したデータセットは、クラス、ラベル、アノテーションとともにワークスペースに残りますが、同じストレージアカウントに再接続するまでは、画像の読み込み、プレビュー、トレーニングを行えません。
連携IDとしてGET /api/integrations/bucketsから返される値を使い、REST APIを使用します。
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")接続元でアクセスを取り消すには、Azureでストレージアカウントのアクセスキーをローテーションしてください。
現在の制限事項#
Azure連携データセットでは、画像のPlatform所有コピーを必要とする機能(自動アノテーション、クラスタリング分析、データセットの複製、変更不可のバージョンスナップショット)は現在利用できません。
Azure連携データセット、またはその個別画像を削除しても、Platform上の参照のみが削除され、blobには一切触れません。
Google Cloud StorageおよびAmazon S3との連携もご覧ください。
よくある質問#
いいえ。Platformはコンテナーを一度一覧表示し、見つかった画像の寸法とラベルをインデックス化します。閲覧とアノテーションでは、必要に応じてオリジナル画像をストリーミングします。マネージドトレーニングでは、実行中に限り、固定された画像のPlatform独自のコピーを使用します。インデックス化された画像はストレージクォータに含まれません。
データセットは作成時に一度だけインデックス化されます。新しいオブジェクトは、新しいデータセットを作成するか、失敗したインポートを再試行するまで取り込まれません。インデックス化された各画像はそのバージョンに固定されているため、オブジェクトを上書きすると、Platformはその画像の処理を安全のために停止します。既存のオブジェクトを置き換えるのではなく、新しいオブジェクトを追加してください。
画像のPlatform所有コピーを必要とする機能は、接続済みのデータセットでは利用できません。自動アノテーション、クラスタリング分析、データセットの複製、変更不可のバージョンスナップショットが対象です。手動アノテーション、共有、トレーニングは通常どおり利用できます。
保存済みの認証情報を削除するには、Settings > Integrationsで連携を解除するか、Azureでストレージアカウントのアクセスキーをローテーションしてください。どちらの操作も、コンテナー内のデータには影響しません。