このトピックでは、プルストリームリレーコールバックのトリガー条件について説明し、コールバックの例を示します。
プルストリームリレーコールバックのイベント
プルストリームリレーコールバックのイベントには、プルストリームリレータスクの状態変更とプルストリームリレータスクの終了が含まれます。
次の表に、プルストリームリレータスクの状態を示します。
状態 | 説明 |
アイドル | CreateLivePullToPush 操作を呼び出すことによって作成したタスクの初期状態です。 |
実行中 | 指定された開始時刻後に自動的に開始されたタスク、または停止後に再起動されたタスクの状態です。 |
回復中 | 実行中に例外が発生したときに再試行しているタスクの状態です。 |
オフライン | 例外が発生し、再試行に失敗したタスク、または StopLivePullToPush 操作を呼び出すことによって停止したタスクの状態です。 |
終了 | 指定された終了時刻後に自動的に削除されたタスク、または DeleteLivePullToPush 操作を呼び出すことによって削除したタスクの状態です。 |
プルストリームリレータスクの状態変更のコールバック
説明
プルストリームリレータスクの状態が実行中、回復中、またはオフラインに変更されると、コールバックが呼び出されて状態変更が示されます。
トリガー条件
タスクが指定された開始時刻に自動的に開始されるか、RestartLivePullToPush 操作を呼び出すことによって再起動されると、タスクの状態は
Runningに変更されます。タスクの実行中に例外が発生すると、タスクの状態は
Recoveringに変更されます。タスクで例外が発生し、再試行に失敗するか、StopLivePullToPush 操作を呼び出すことによって停止されると、タスクの状態は
Offlineに変更されます。
プルストリームリレータスクの終了のコールバック
説明
プルストリームリレータスクが終了すると、コールバックが呼び出されてタスクがクリアされたことが示されます。
トリガー条件
タスクが指定された終了時刻に自動的に削除されると、タスクの状態は
Exitに変更されます。DeleteLivePullToPush 操作を呼び出すことによってタスクが削除されると、タスクの状態は
Exitに変更されます。
プルストリームリレーコールバックの内容
JSON 形式のコールバック内容は、HTTP POST リクエストの リクエスト本文 に含まれ、コールバック URL に送信されます。サーバーはリクエスト本文を解析してコールバック内容を取得できます。
プルストリームリレータスクの状態変更のコールバックのパラメーターと例
表 1. パラメーター
パラメーター
説明
Event
イベント名。固定値:
LivePullToPushRunning。EventTime
イベントが発生した時刻。値は、秒単位の UNIX タイムスタンプです。
TaskId
タスク ID。
TaskInfo
タスクに関する情報。
TaskStatus
タスクの現在の状態。有効な値:
1: 実行中
2: 回復中
3: オフライン
TaskInvalidReason
タスクが異常に実行されるか、実行が停止する理由。有効な値:
PullStreamFailed: ストリームのプルに失敗しました。PushStreamFailed: ストリームリレーに失敗しました。TriggerByUser: 対応する API 操作が呼び出されました。UnknownError: 不明なエラーが発生しました。RetryTimesOffline: タイムアウトが発生しました。
説明このパラメーターは、タスクの状態がオフラインの場合にのみ返されます。
コールバックの例
{ "Event": "LivePullToPushRuning", "EventTime": "1725501246", "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****", "TaskInfo": { "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****", "StartTime": "2024-09-05T01:54:00Z", "EndTime": "2024-09-05T01:58:00Z", "SourceUrls": [ "\"http://fyl-*******-*****.oss-cn-beijing.aliyuncs.com/record/caster/741584e2557248e98ef332d41e4afc3d/2024-08-30-18:19:40_2024-08-30-18:21:09.mp4\"" ], "DstUrl": "rtmp://pushtest.******.aliyunlive.com/pulltest38/pulltest-w38", "CallbackURL": "https://1833220977******.cn-shanghai.lc.aliyuncs.com/workflows/lc-uf6sd1382ikolc/triggers/manual/methods/invoke?ApiVersion=2018-12-12&Signature=TZT7CGDgc299cC2dtL73Yeq4xY8", "Offset": 0, "SourceType": "url" }, "TaskStatus": "1" }プルストリームリレータスクの終了のコールバックのパラメーターと例
表 2. パラメーター
パラメーター
説明
Event
イベント名。固定値:
LivePullToPushExit。EventTime
イベントが発生した時刻。値は、秒単位の UNIX タイムスタンプです。
TaskId
タスク ID。
TaskInfo
タスクに関する情報。
TaskStatus
タスクの現在の状態。有効な値:
-1: 終了
TaskExitTime
タスクが終了した時刻。値は、秒単位の UNIX タイムスタンプです。
TaskExitReason
タスクが終了した理由。
TriggerByUser: 対応する API 操作が呼び出されました。OverEndTime: 指定された終了時刻に達しました。
コールバックの例
{ "Event": "LivePullToPushExit", "EventTime": "1725501483", "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****", "TaskInfo": { "TaskId": "08a1b00c-9c2f-4dfa-9f5d-878f2505****", "StartTime": "2024-09-05T01:54:00Z", "EndTime": "2024-09-05T01:58:00Z", "SourceUrls": [ "\"http://fyl-******-****.oss-cn-beijing.aliyuncs.com/record/caster/741584e2557248e98ef332d41e4afc3d/2024-08-30-18:19:40_2024-08-30-18:21:09.mp4\"" ], "DstUrl": "rtmp://pushtest.*****.aliyunlive.com/pulltest38/pulltest-w38", "CallbackURL": "https://1833220977******.cn-shanghai.lc.aliyuncs.com/workflows/lc-uf6sd1382ikolc/triggers/manual/methods/invoke?ApiVersion=2018-12-12&Signature=TZT7CGDgc299cC2dtL73Yeq4xY8", "Offset": 0, "SourceType": "url" }, "TaskStatus": "-1", "TaskExitTime": "1725501483", "TaskExitReason": "OverEndTime", }