統合と自動化

API、webhook、クラウドストレージ連携で Batch Processing を自動化します。

Batch Processing は、タスクの自動化に適しており、特に処理を定期的に実行する必要がある場合に向いています。このページでは、API と webhook を使用して Roboflow Batch Processing を外部システムと統合する方法を説明します。

概要

一般的な Batch Processing パイプラインは次の要素で構成されます:

  1. データ取り込み — データを Data Staging(入力データと出力データの一時ストレージ)にアップロードします。

  2. 処理 — 取り込まれたデータに対して Workflow を実行し、CSV/JSONL の結果を生成します。これに続いて通常は export ステージがあり、圧縮アーカイブを作成して簡単に展開できるようにします。

  3. データのエクスポート — ダウンロードリンクを使用して出力バッチから結果をダウンロードします。

API リファレンス

すべての 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 枚の画像をまとめます。

  1. アップロード URL を要求します:

  1. 画像を *.tar アーカイブにまとめ、API が返すサイズおよびファイル数の制限に従います。

  2. レスポンスの署名付き URL と拡張ヘッダーを使用してアーカイブをアップロードします。

circle-exclamation
circle-info

一括取り込みを行う場合、データはバックグラウンドでインデックス化されます。すべてのデータが利用可能になるまで少し遅延する場合があります。

バッチのステータスを確認

ジョブを開始する前に、すべてのデータが取り込まれていることを確認してください:

シャードのアップロード詳細を確認するには(ページネーションあり):

ジョブを開始

circle-info

ジョブ ID の制約: 小文字の英字、数字、ハイフン、アンダースコアのみ。最大 20 文字。

ジョブのステータスを監視

一般的なジョブのステータス:

ジョブのステージを一覧表示:

ステージのタスクを一覧表示(ページネーションあり):

結果をエクスポート

出力バッチのパーツを一覧表示:

パーツのダウンロード URL を一覧表示(ページネーションあり):

ファイルをダウンロード:

Data Staging のバッチタイプ

  • シンプルバッチ (type: simple-batch)— データを 1 件ずつ取り込むときに作成されます。最大 5,000〜10,000 件に最適です。

  • シャードバッチ (type: sharded-batch)— 一括取り込み(画像のみ)で作成されます。自動シャーディングにより、数百万件のデータポイント向けに設計されています。

  • マルチパートバッチ (type: multipart-batch)— システムによって内部的に作成されます。サブバッチを 1 つのエンティティとして管理する論理的なグループです。

Webhook 自動化

ステータスをポーリングする代わりに、取り込みや処理が完了したときに通知を受け取るために 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 で配信されます。

取り込みステータス通知

ファイルステータス通知

ジョブ完了 Webhook

追加 --notifications-url をジョブ開始時に指定します:

ジョブ完了通知

署名付き URL による取り込み

高度な自動化では、ローカルファイルの代わりに署名付き URL を介してデータを取り込むことができます:

  • --data-source references-file — 署名付き URL で参照されたファイルを処理します。

  • --references <path_or_url> — ファイル URL を含む JSONL ファイルへのパス、またはそのファイルを指す署名付き URL。

参照ファイル形式(JSONL)

circle-info

署名付き URL による取り込みは、Growth Plan および Enterprise のお客様が利用できます。

クラウドストレージ認証

AWS S3 と S3 互換ストレージ

認証情報は次から自動的に検出されます:

  1. 環境変数:

  1. AWS 認証情報ファイル (~/.aws/credentials, ~/.aws/config)

  2. IAM ロール (EC2, ECS, Lambda)

名前付きプロファイル:

S3 互換サービス(Cloudflare R2、MinIO など):

Google Cloud Storage

認証情報は次から検出されます:

  1. サービスアカウントキーファイル (自動化に推奨):

  1. ユーザー認証情報 gcloud CLI から (gcloud auth login)

  2. GCP メタデータサービス (Google Cloud Platform 上で実行している場合)

Azure Blob Storage

SAS トークン(推奨):

アカウントキー:

Azure CLI で SAS トークンを生成します:

カスタムスクリプト

高度なユースケースでは、署名付き URL ファイルを生成するためのスクリプトを参照してください:

Last updated

Was this helpful?