ビジョンイベントバンドルを書き込み
ビジョンイベントを自己完結型の tarball バンドルとしてローカルディレクトリに書き込みます。
Roboflow Vision Events API に送信する代わりに、ビジョンイベントをローカルファイルシステム上の自己完結型 tarball バンドルとしてシリアライズします。推論サーバーがクラウドへ到達できないエアギャップ環境や OT ネットワーク向けに設計されています。顧客側の file-mover サービスがバンドルをネットワーク外へ搬送し、その後アップローダーが各バンドルを Roboflow の POST /vision-events/bundle エンドポイントへ、展開せずに送信します。
バンドル形式(バージョン1)
イベントごとに 1 つの tarball を書き込みます。 target_directory:
event_<UTC timestamp>_<eventId>.tar.gz
├── payload.json # イベントのペイロード(バージョン管理された契約、camelCase)
└── images/<file_id>.jpg # 画像メンバー。file_id は uuid4 ですpayload.json 次と同じ構造を持ちます POST /vision-events リクエスト本文。ただし、次の違いがあります:
bundleFormatVersionバンドル契約のバージョンを識別します(現在は1)images[].file/images[].inputFile次の代わりに tar メンバーのパスを参照しますsourceId/inputSourceId(クラウドは取り込み時にそれらを source id に解決します)useCaseIdは、オプションの Use Case フィールドがこのブロックに設定されている場合にのみ存在します。エアギャップ環境では通常これを未設定のままにして、OT ネットワーク内にクラウド識別子が保存されないようにし、アップローダーが代わりにuseCaseIdquery parameter として指定します
メディアメンバーは、型名付きディレクトリ(images/ 現在のところ)に配置されます。将来のメディアタイプは兄弟ディレクトリを使用するため、利用側は未知のトップレベルディレクトリを無視してください。
アトミック書き込み
バンドルは target ディレクトリ内のドットプレフィックス付き一時ファイルに書き込まれ、fsync され、最終的な event_*.tar.gz という名前にアトミックにリネームされます(リネーム後にディレクトリが fsync されます)。 event_*.tar.gz (または dotfile をスキップする)は、書き込み途中のバンドルを取得することは決してできません。
レート制限
ビデオワークフローは 1 秒あたり何度も実行される可能性があり、デフォルトではフレームごとに 1 つのバンドルを書き込むことになります。このブロックは連続するイベント間にクールダウンを課します。デフォルトでは 1 秒あたり最大 1 件のイベントだけが書き込まれます。クールダウン期間中にトリガーされたイベントは破棄され、 throttling_status の出力は Trueに設定されます。 cooldown_seconds を要件に応じて調整するか、 0 に設定してレート制限を完全に無効にします。
要件
ローカルファイルシステムアクセス: このブロックにはローカルファイルシステムへの書き込みアクセスが必要で、セルフホスト型 推論向けです。ファイルシステムアクセスは環境変数で制御できます:
次を設定します
ALLOW_WORKFLOW_BLOCKS_ACCESSING_LOCAL_STORAGE=Falseことでブロックを無効にします(エラーが発生します)次を設定します
WORKFLOW_BLOCKS_WRITE_DIRECTORYを絶対パスに設定すると、書き込み先を特定のディレクトリとそのサブディレクトリのみに制限できます
Roboflow API キーは不要です。ブロックはネットワークと通信しません。
イベントタイプ
quality_check: 製造/検査 QA。合否結果と任意の信頼度を含みます
inventory_count: 在庫追跡。場所、アイテム数、アイテム種別を含みます
safety_alert: 安全違反。警告タイプ、重大度(low/medium/high)、説明を含みます
custom: ユーザー定義イベント。自由形式の値文字列を含みます
operator_feedback: 以前のイベントに対するオペレーターによる確認/修正(correct/incorrect/inconclusive)
タイプ識別子
ステップで次の識別子を使用してください "type" フィールド: roboflow_core/vision_event_bundle@v1 ワークフローのステップとしてこのブロックを追加します。
プロパティ
名前
型
説明
参照
name
str
このステップの一意の識別子を入力してください。
❌
target_directory
str
イベントバンドルが書き込まれるディレクトリパスです。存在しない場合は自動的に作成されます。WORKFLOW_BLOCKS_WRITE_DIRECTORY が設定されている場合、このパスは許可されたディレクトリのサブディレクトリでなければなりません。
✅
event_type
str
作成するビジョンイベントの種類。
✅
solution
str
バンドルに組み込む任意のユースケースとして useCaseId。エアギャップ環境では未設定のままにしておき、クラウド識別子がバンドルに保存されないようにしてください。アップローダーが代わりにアップロード時にユースケースを指定します。A useCaseId ingest エンドポイントに渡される query parameter は、常にバンドル済みの値を上書きします。
✅
external_id
str
他のシステムとの相関付けのための外部識別子(最大 1000 文字)。
✅
qc_result
str
品質検査結果: 合格または不合格。
✅
location
str
在庫カウントのための場所識別子。
✅
item_count
int
カウントされたアイテム数。
✅
item_type
str
カウント対象のアイテムの種類。
✅
alert_type
str
警告タイプ識別子(例: no_hardhat, spill_detected)。
✅
severity
str
安全アラートの重大度レベル。
✅
alert_description
str
安全アラートの説明。
✅
custom_value
str
カスタムイベント用の任意の値。
✅
related_event_id
str
レビュー対象のイベントの event ID。
✅
feedback
str
関連イベントに対するオペレーターのフィードバック。
✅
custom_metadata
Dict[str, Union[bool, float, int, str]]
イベントに付与するフラットなキー/値メタデータ。キーはパターン [a-zA-Z0-9_ -]+(最大 100 文字)に一致する必要があります。文字列値は最大 1000 文字です。
✅
fire_and_forget
bool
True の場合、バンドルは非同期に書き込まれ、ワークフローは待機せずに継続します。False の場合、ブロックは書き込み完了まで待機します。
✅
disable_sink
bool
True の場合、ブロックは無効化され、バンドルは書き込まれません。
✅
cooldown_seconds
Union[float, int]
このブロックが書き込む連続するイベントバンドル間の最小秒数。クールダウン期間中にトリガーされたイベントは破棄され、 throttling_status の出力は True に設定されます。デフォルトは 1 秒で、高頻度のビデオワークフローがフレームごとにバンドルを書き込まないようにします。意図的にバーストの多いユースケースでは 0 に設定してレート制限を無効にします。
✅
この 参照 列は、動的値を使ってプロパティをパラメータ化できることを示します ワークフロー ランタイムです。詳細は バインディング をご覧ください。
ランタイム互換性
ソフト - ランタイム hosted_serverless, dedicated_deployment;実行 リモート 冷却/レート制限タイマーはプロセスメモリに保存されます。ステートレスまたはマルチレプリカの HTTP ランタイムでリモートステップ実行を行うと、各リクエストごとに新しいワーカーが割り当てられるため、cooldown はスロットリングしません。cooldown が文書どおりに動作するのは、InferencePipeline 内でローカルステップ実行する場合のみです。
ソフト - ランタイム dedicated_deployment バンドルはデプロイメントのボリュームに永続化されますが、Roboflow API から取得することはできません。このブロックは、file-mover プロセスを伴うセルフホスト型デプロイメント向けです。
ソフト - ランタイム hosted_serverless コンテナのディスクは一時的なため、ワーカーがスケールダウンするとバンドルは失われます。ワークフロー要求を消費するレプリカが複数ある場合、結果は非決定的になります。
入出力バインディング
利用可能な接続は、その binding kind に依存します。どの binding kind が Vision Event Bundle を書き込む バージョン v1 を持ちます。
最終更新
役に立ちましたか?