> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Auth0イベントストリームをテストし、Deliveriesエンドポイントをポーリングして配信の失敗を監視し、単一呼び出しおよび一括Redelivery APIで未配信のイベントを復旧して、イベントストリームの信頼性を維持します。

# イベントのテスト、可観測性、障害復旧

以下のセクションでは、イベントストリームのテストとイベントの管理について説明します。

<div id="test-the-event-stream">
  ## イベントストリームをテストする
</div>

イベントストリームを作成して有効化したら、新しいストリームをテストできます。現在、Auth0 では無効化されたイベントストリームにイベントを送信できません。

イベントストリームをテストするには、まず以下を実行し、任意の認証情報を使ってアプリケーション用のユーザーを作成します。

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    auth0 users create # プロンプトに従ってテストユーザーを作成します
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -X POST https://$TENANT/api/v2/users \
      -d '{
            "email": "nick-testing-21@example.com",
            "password": "Password123!",
            "connection": "Username-Password-Authentication"
          }'
    ```
  </Tab>
</Tabs>

ユーザーが作成されると、イベントストリームで `user.created` イベントが発生し、レスポンスが返されます。この例では、イベントストリームの動作確認に Webhook を使用しています。

```json lines expandable theme={null}
"Webhook received": {
  "id": "evt_6SfwXrtm8nVcjzzNCFFH1L",
  "source": "urn:auth0:",
  "specversion": "1.0",
  "type": "user.created",
  "time": "2025-02-02T17:56:01.573Z",
  "data": {
    "object": {
      "created_at": "2025-02-02T17:56:01.566Z",
      "email": "nick-testing-21@example.com",
      "email_verified": false,
      "identities": [
        {
          "connection": "Username-Password-Authentication",
          "isSocial": false,
          "provider": "auth0",
          "user_id": "679fb1b1e809445f129bc18d"
        }
      ],
      "name": "nick-testing-21@example.com",
      "nickname": "nick-testing-21",
      "picture": "test.png",
      "updated_at": "2025-02-02T17:56:01.566Z",
      "user_id": "auth0|679fb1b1e809445f129bc18d"
    }
  },
  "a0tenant": "acme",
  "a0stream": "est_38ANnv8pQhqsZrX2VFbftv",
  "a0purpose": "test"
}
```

特定のイベントストリームにおけるイベント配信の失敗は、次を実行すると一覧で確認できます。

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    auth0 api get event-streams/$EVENT_STREAM_ID/deliveries
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -H "Authorization: Bearer $TOKEN" \
      "https://$TENANT/api/v2/event-streams/${EVENT_STREAM_ID}/deliveries" | jq .
    ```
  </Tab>
</Tabs>

空の配信失敗配列が返された場合、イベントストリームは正常に稼働しています。

<div id="observability">
  ## 可観測性
</div>

イベントストリームの信頼性を確保するため、配信失敗を定期的に確認し、必要に応じてアラートを発する監視プロセスを実装します。

配信失敗は、次の原因で発生することがあります。

* イベントストリームが無効になっている。
* イベントストリームを利用できない。
* 接続エラー。

<div id="polling-deliveries-endpoint">
  ### Deliveries エンドポイントのポーリング
</div>

失敗したイベントがないか確認するため、**5 分**ごとに Deliveries エンドポイントをポーリングします。直近のイベント配信を取得するには、次の API 呼び出しを使用します。

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    auth0 api get event-streams/$EVENT_STREAM_ID/deliveries
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -H "Authorization: Bearer $TOKEN" \
      "https://$TENANT/api/v2/event-streams/${EVENT_STREAM_ID}/deliveries" | jq .
    ```
  </Tab>
</Tabs>

失敗が検出された場合:

* 失敗したイベントの詳細を記録します。
* 問題の確認と診断を行えるよう、適切なチームまたはシステムに通知します。

<div id="recovery">
  ## 復旧
</div>

イベント配信は自動的に再試行されます。詳しくは、[Best Practices](/docs/ja-jp/customize/events/event-testing-observability-and-failure-recovery#batch-redelivery-of-failed-events)をご覧ください。

障害が発生した場合は、Redelivery API を使用してイベントを再配信してください。

<div id="redeliver-a-single-failed-event">
  ### 失敗したイベントを 1 件再配信する
</div>

特定の失敗したイベントを再試行するには、次を使用します。

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    EVENT_ID=<your event id>
    auth0 api POST event-streams/$EVENT_STREAM_ID/redeliver/$EVENT_ID --data '{}'
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -X POST -H "Authorization: Bearer $TOKEN" \
      "https://<your-domain>/api/v2/event-streams/$EVENT_STREAM_ID/redeliver/$EVENT_ID"
    ```
  </Tab>
</Tabs>

<div id="batch-redelivery-of-failed-events">
  ### 失敗したイベントの一括再配信
</div>

イベントストリーム内の失敗したイベントをすべて再試行するには、次のようにします。

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash wrap lines theme={null}
    auth0 api POST event-streams/$EVENT_STREAM_ID/redeliver --data '{}'
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -X POST -H "Authorization: Bearer $TOKEN" \
      "https://<your-tenant>.auth0.com/api/v2/event-streams/<event_stream_id>/redeliver"
    ```
  </Tab>
</Tabs>

<div id="auto-disable-mechanism">
  ### 自動無効化の仕組み
</div>

Auth0 では、障害が一定数を超えて発生すると、イベントストリームが自動的に無効化されます。

| 条件          | 実行される処理                |
| ----------- | ---------------------- |
| 500 回連続で失敗  | イベントストリームは自動的に無効化されます。 |
| 合計 5000 回失敗 | イベントストリームは自動的に無効化されます。 |

* イベントストリームが自動的に無効化された場合、失敗したイベントを処理するには **必ず** Redelivery API を使用する必要があります。
* 合計失敗回数が 5000 未満になるまで、イベントストリームを手動で再有効化することは **できません**。
* 失敗回数が減ったら、API 経由でストリームを再有効化できます。

<div id="learn-more">
  ## 詳しくはこちら
</div>

* [イベントカタログ](/docs/ja-jp/events)
* [イベントストリームを作成する](/docs/ja-jp/customize/events/create-an-event-stream)
* [イベントのベストプラクティス](/docs/ja-jp/customize/events/events-best-practices)
