Webhooks
Webhooksは、特定のイベントが発生した際に、Daytonaが指定したエンドポイントへ送信するHTTPコールバックです。 いわば「逆方向のAPIコール」です。アプリケーション側がDaytonaに更新を問い合わせるのではなく、重要なイベントが発生するとDaytonaが能動的にアプリケーションへ通知します。
ユースケース
Webhooks により、強力な自動化と統合が可能になります。
- リアルタイム通知: サンドボックスの作成・起動・停止時に即時にアラートを受け取る
- 自動化ワークフロー: スナップショット作成時にデプロイメントパイプラインを起動する
- 監視と分析: 組織全体の利用傾向やリソース消費を追跡する
- 統合: Daytona を Slack、Discord、カスタムアプリケーションなどの既存ツールと連携する
- 監査とコンプライアンス: 重要な変更の詳細なログを保持する
はじめに
Webhooks へのアクセス
ダッシュボードのサイドバーに Webhooks が表示されていない場合は、support@daytona.io までご連絡のうえ、組織向けに Webhooks の有効化をリクエストしてください。アクセス申請の際は、組織設定で確認できる組織 ID を併せてご提供ください。
組織で Webhooks が有効化されたら:
- Daytona Dashboard にアクセスします
- 左サイドバーの Webhooks をクリックします
- Webhook の管理インターフェースにアクセスできます
Webhookエンドポイントの管理
エンドポイントの作成
Webhookイベントの受信を開始するには:
- WebhookダッシュボードのEndpointsタブに移動します
- Add Endpointをクリックします
- エンドポイントを設定します:
- Endpoint URL: イベントを受信するHTTPSエンドポイント
- Description: このエンドポイントの説明
- Subscribe to events: 受信するイベントを選択
エンドポイントのテスト
運用開始前に、Webhookエンドポイントをテストします:
- EndpointsリストからWebhooksを選択します
- Testingタブに移動します
- テストイベントを設定して送信します
- エンドポイントがテストペイロードを正しく受信していることを確認します
- アプリケーションがWebhookの形式を正しく処理できることを確認します
利用可能なイベント
Daytona は、インフラストラクチャ リソース全体のライフサイクルイベントについて Webhook を送信します。特定のイベントタイプに購読することも、すべてのイベントを受け取ってアプリケーション内でフィルタリングすることもできます。
イベントカテゴリ
- サンドボックスのライフサイクルイベント
- スナップショットのライフサイクルイベント
- ボリュームのライフサイクルイベント
Webhook ペイロード形式
すべての Webhook イベントは一貫した構造に従います。
{ "event": "event.type", "timestamp": "2024-01-15T10:30:00Z", "data": { // イベント固有のデータ }}
共通フィールド:
event
: イベントの種類(例: “sandbox.created”)timestamp
: イベント発生時刻(ISO 8601)data
: 関連情報を含むイベント固有のペイロード
監視とアクティビティ
アクティビティ
アクティビティ タブでは、配信統計、イベント量の推移、パフォーマンス指標など、Webhook のアクティビティを可視化して確認でき、Webhook 連携の健全性の監視に役立ちます。
イベントログ
ログ タブには、トラブルシューティングおよび監視のために、イベント履歴、配信ステータス、再試行情報など、Webhook 配信に関する詳細が表示されます。