# Events を送信する

## イベントを送信

Workflow block、REST API、またはエッジデバイスのバックアップを使用して Vision Events を送信できます。

* [Workflow block](#workflow-block) - Workflows を使うユーザーは、公式の Roboflow block を使うのが最も簡単でしょう
* [REST API](#rest-api) - Workflows 外でモデルをデプロイするユーザーは、REST API を使用できます
* [エッジデバイスのバックアップ](#edge-device-backup) - Roboflow Edge デバイスをデプロイするユーザーは、デバイス上のローカル event store から自動バックアップを設定するのが最も便利です

### Workflow block

多くのユーザーに推奨される方法です。 **Vision Event** block を任意の Roboflow Workflow に追加すると、コード不要で推論結果から自動的に event を作成できます。

#### セットアップ

{% stepper %}
{% step %}
**Workflow Editor を開く**

移動先 **Workflows** を workspace で開き、event を追加したい workflow を開きます。
{% endstep %}

{% step %}
**Vision Event Block を追加**

block catalog で「Vision Event」を検索し、workflow に追加します。
{% endstep %}

{% step %}
**入力を接続**

画像入力と model prediction の出力を Vision Event block に接続します。
{% endstep %}

{% step %}
**Use Case を設定**

Use Case 名を設定します（`useCaseId`）。上流の block からカスタム metadata をマッピングすることもできます。
{% endstep %}

{% step %}
**Workflow をデプロイ**

workflow をデプロイまたは更新します。workflow が実行されるたびに event が自動的に作成されます。
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Workflow block は、画像のアップロードと event 作成を 1 ステップで処理します。
{% endhint %}

### REST API

Workflows を使用しないカスタム統合やパイプラインでは、REST API を介して直接 event を送信できます。完全なリクエストおよびレスポンスの schema については、 [Vision Events API Reference](https://docs.roboflow.com/developer/rest-api/vision-events).

#### 認証

すべての書き込みエンドポイントには、 `visionEvents.write` または `device.update` スコープを持つ API key が必要です。API key は Bearer token として渡します:

```
Authorization: Bearer YOUR_API_KEY
```

#### エンドツーエンドの例: 画像をアップロード + event を作成

{% hint style="warning" %}
event を送信する前に Use Case を作成する必要があります。 `useCaseId` が存在しないものを参照する event は拒否されます。
{% endhint %}

API 経由で event を送信する場合は、最初に画像をアップロードし、その後アップロードした画像を参照する event を作成します。

**手順 1: 画像をアップロード**

```bash
curl -X POST "https://api.roboflow.com/vision-events/upload" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@inspection_photo.jpg"
```

**応答:**

```json
{
  "success": true,
  "sourceId": "abc123def456",
  "url": "https://storage.googleapis.com/your-workspace/abc123def456/original.jpg"
}
```

**手順 2: アップロードした画像を参照して event を作成**

```bash
curl -X POST "https://api.roboflow.com/vision-events" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "eventType": "quality_check",
    "useCaseId": "assembly-line-qa",
    "timestamp": "2026-03-30T14:30:00.000Z",
    "deviceId": "factory-cam-01",
    "streamId": "line-3",
    "images": [
      {
        "sourceId": "abc123def456",
        "objectDetections": [
          {
            "class": "defect",
            "x": 320,
            "y": 240,
            "width": 50,
            "height": 40,
            "confidence": 0.95
          }
        ]
      }
    ],
    "eventData": {
      "result": "fail"
    },
    "customMetadata": {
      "line_id": "line-3",
      "shift": "morning",
      "part_number": "PN-4421"
    }
  }'
```

**応答:**

```json
{
  "eventId": "evt-789ghi",
  "created": true
}
```

#### イベントを一括作成

batch エンドポイントを使用して、1 回のリクエストで最大 100 件の event を送信できます:

```bash
curl -X POST "https://api.roboflow.com/vision-events/batch" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "events": [
      {
        "eventType": "quality_check",
        "useCaseId": "alksjdflaalsf32",
        "eventData": { "result": "pass" },
        "customMetadata": { "line_id": "line-1" }
      },
      {
        "eventType": "quality_check",
        "useCaseId": "alksjdflaalsf32",
        "eventData": { "result": "fail" },
        "customMetadata": { "line_id": "line-2" }
      }
    ]
  }'
```

{% hint style="info" %}
batch リクエストあたり最大 100 件の event。
{% endhint %}

### エッジデバイスのバックアップ

接続が不安定になる可能性があるエンタープライズ環境では、エッジデバイスが event をローカルに保存し、接続が復旧すると Roboflow に同期します。

{% hint style="info" %}
Edge Device Backup を使用するには Deployment Manager が必要です。セットアップ手順については Deployment Manager のドキュメントを参照してください。
{% endhint %}

Vision Events のバックアップを有効にするには:

1. 開く **Deployment Manager** を workspace で
2. 設定するデバイスを選択
3. 有効化 **Vision Events Backup** をデバイスの Event Store 設定で
4. event はデバイス上のローカル event store に書き込まれます
5. デバイスが再接続すると、event は自動的に Roboflow に同期されます

同期が完了すると、event は Vision Events ダッシュボードに表示されます。

<figure><img src="https://3740591140-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FxsgkG53PwvUtPzZIi1ez%2Fimage.png?alt=media&#x26;token=58085ee0-285e-4a76-8a5a-1fda3efd59a3" alt="" width="375"><figcaption></figcaption></figure>
