統合と自動化
API、webhook、クラウドストレージ連携で Batch Processing を自動化します。
Batch Processing は、タスクの自動化に適しており、特に処理を定期的に実行する必要がある場合に向いています。このページでは、API と webhook を使用して Roboflow Batch Processing を外部システムと統合する方法を説明します。
一般的な Batch Processing パイプラインは次の要素で構成されます:
データ取り込み — データを Data Staging(入力データと出力データの一時ストレージ)にアップロードします。
処理 — 取り込まれたデータに対して Workflow を実行し、CSV/JSONL の結果を生成します。これに続いて通常は export ステージがあり、圧縮アーカイブを作成して簡単に展開できるようにします。
データのエクスポート — ダウンロードリンクを使用して出力バッチから結果をダウンロードします。
すべての CLI コマンドには同等の REST API エンドポイントがあります。以下に主要な API 操作を示します。
curl -X POST "https://api.roboflow.com/data-staging/v1/external/{workspace}/batches/{batch_id}/upload/video" \
-G \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "fileName=your_video.mp4"
レスポンスには "signedURLDetails" が含まれており、内容は次のとおりです:
"uploadURL" — 動画を PUT するための URL
"extensionHeaders" — 追加で含めるヘッダー
動画をアップロードします:
すべてのヘッダーを "extensionHeaders" レスポンスの field から含めてください。
最大 5,000 枚までのバッチに最適です。同じバッチで一括アップロードと併用することはできません。
5,000 枚を超える画像のバッチに推奨されます。1 つの *.tar アーカイブに最大 500 枚の画像をまとめます。
画像を *.tar アーカイブにまとめ、API が返すサイズおよびファイル数の制限に従います。
レスポンスの署名付き URL と拡張ヘッダーを使用してアーカイブをアップロードします。
一括アップロードのバッチと、同じバッチでの単一画像アップロードは混在できません。
ジョブを開始する前に、すべてのデータが取り込まれていることを確認してください:
シャードのアップロード詳細を確認するには(ページネーションあり):
一般的なジョブのステータス:
ジョブのステージを一覧表示:
ステージのタスクを一覧表示(ページネーションあり):
出力バッチのパーツを一覧表示:
パーツのダウンロード URL を一覧表示(ページネーションあり):
ファイルをダウンロード:
Data Staging のバッチタイプ
シンプルバッチ (type: simple-batch)— データを 1 件ずつ取り込むときに作成されます。最大 5,000〜10,000 件に最適です。
シャードバッチ (type: sharded-batch)— 一括取り込み(画像のみ)で作成されます。自動シャーディングにより、数百万件のデータポイント向けに設計されています。
マルチパートバッチ (type: multipart-batch)— システムによって内部的に作成されます。サブバッチを 1 つのエンティティとして管理する論理的なグループです。
ステータスをポーリングする代わりに、取り込みや処理が完了したときに通知を受け取るために webhook を使用できます。
データ取り込み Webhook
CLI コマンド create-batch-of-images および create-batch-of-videos は次をサポートします:
--notifications-url <webhook_url> — 通知用の webhook エンドポイント。
--notification-category <value> — 通知をフィルタリング:
ingest-status (デフォルト)— 取り込みプロセス全体のステータス。
files-status — 個々のファイル処理ステータス。
通知は、 Authorization ヘッダーに Roboflow Publishable Key を含めた HTTP POST で配信されます。
追加 --notifications-url をジョブ開始時に指定します:
署名付き URL による取り込み
高度な自動化では、ローカルファイルの代わりに署名付き URL を介してデータを取り込むことができます:
--data-source references-file — 署名付き URL で参照されたファイルを処理します。
--references <path_or_url> — ファイル URL を含む JSONL ファイルへのパス、またはそのファイルを指す署名付き URL。
参照ファイル形式(JSONL)
AWS S3 と S3 互換ストレージ
認証情報は次から自動的に検出されます:
AWS 認証情報ファイル (~/.aws/credentials, ~/.aws/config)
IAM ロール (EC2, ECS, Lambda)
名前付きプロファイル:
S3 互換サービス(Cloudflare R2、MinIO など):
Google Cloud Storage
認証情報は次から検出されます:
サービスアカウントキーファイル (自動化に推奨):
ユーザー認証情報 gcloud CLI から (gcloud auth login)
GCP メタデータサービス (Google Cloud Platform 上で実行している場合)
Azure Blob Storage
SAS トークン(推奨):
アカウントキー:
Azure CLI で SAS トークンを生成します:
高度なユースケースでは、署名付き URL ファイルを生成するためのスクリプトを参照してください:
Last updated