> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ja/to/vision-events/upload-a-vision-event-bundle.md).

# Vision Event バンドルをアップロード

エアギャップ環境のデプロイメントによって作成された tarball バンドルを取り込み、Vision Event を作成します。

## 概要

その [Vision Event バンドルの書き込み](https://docs.roboflow.com/workflows/blocks/blocks/data-storage/vision-event-bundle) ブロックは、イベントごとに1つのtarballをRoboflowに送信する代わりにローカルディスクへ書き込みます。推論サーバーがクラウドへの経路のないネットワーク上で動作している場合に使用してください。このエンドポイントは、それらのtarballをそのまま受け取ります。アップローダーが各ファイルを送信すると、Roboflowがそれを展開し、画像をアップロードして、 [Vision Event](/deployment/ja/to/vision-events.md).

## HTTP API

生のアーカイブバイト列をリクエストボディとして送信してください。JSONやmultipartは使用しないでください。ボディはバイナリなので、APIキーは `Authorization: Bearer` ヘッダー、または `api_key` クエリパラメータに指定してください。

**必要なスコープ:** `vision-events:write` または `device:update`

{% openapi src="/files/934e54fa9aa57656316a422a76238b867f081de5" path="/vision-events/bundle" method="post" %}
[openapi.yaml](https://970637113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-90cd0189aea08d3263ce3e004f4958cc7363d4ed%2Fopenapi.yaml?alt=media)
{% endopenapi %}

### バンドル形式

各バンドルには1つのイベントが含まれます。ブロックはgzip圧縮されたtarファイルを書き込み、通常のtarでも動作します。

```
event_<timestamp>_<eventId>.tar.gz
├── payload.json
└── images/<file_id>.jpg
```

`payload.json` は、 [Vision Event を作成](/deployment/ja/to/vision-events/create-a-vision-event.md#http-api) リクエストボディと同じ構造ですが、2つの違いがあります:

* `bundleFormatVersion` は `1`.
* `images[].file` と `images[].inputFile` はアーカイブ内メンバーのパス（例: `images/9f0c1b2a.jpg`）の代わりに `sourceId` と `inputSourceId`を保持します。Roboflowは各メンバーをアップロードし、イベントにソースIDを保存します。

画像は `images/` ディレクトリ配下に置く必要があります。どの画像からも参照されていないメンバー、およびトップレベルディレクトリのうち `images/`以外のものは、取り込み警告を追加しますがイベントは停止しません。バンドルは画像のみを含みます: `videos/` ディレクトリは警告付きで無視されます。クリップを追加するには、 [動画をアップロードして](/deployment/ja/to/vision-events/upload-a-vision-event-video.md) 別途行ってください。

内部のフィールドエラーは `payload.json` JSONエンドポイントと同じように動作します。参照 [検証と警告](/deployment/ja/to/vision-events/create-a-vision-event.md#validation-and-warnings).

### ユースケース

その `useCaseId` クエリパラメータは `useCaseId` 内の `payload.json`を上書きします。どちらも設定されていない場合、リクエストは400で失敗します。エアギャップ環境のサイトでは通常、ユースケースをバンドルから外して、クラウド識別子がローカルネットワーク内に保存されないようにし、代わりにアップロード時に設定します。

### 制限

<table data-search="false"><thead><tr><th>制限</th><th>値</th><th>失敗時のステータス</th></tr></thead><tbody><tr><td>リクエストボディ</td><td>25 MB</td><td>413</td></tr><tr><td>展開後のアーカイブ</td><td>75 MB</td><td>413</td></tr><tr><td><code>payload.json</code></td><td>10 MB</td><td>413</td></tr><tr><td>アーカイブエントリ</td><td>217</td><td>413</td></tr><tr><td>バンドルあたりの画像数</td><td>100</td><td>400</td></tr><tr><td>1画像あたりのピクセル数</td><td>80 MP</td><td>413</td></tr></tbody></table>

### 再試行

アップロードが失敗した場合や結果が不明瞭な場合は、同じバンドルを再度送信できます。画像は内容で照合され、同じイベントが2回届いた場合は後から届いたものが前のものを置き換えます。課金は1回のみです。
