ApsaraVideo VODは、HTTPコールバック (HTTPS互換) とSimple Message Queue (formerly MNS) コールバックをサポートしています。 このトピックでは、イベント通知のイベントタイプ、コールバックメソッド、コールバック設定、コールバックプロトコル、および共通コールバックパラメーターについて説明します。 このトピックでは、コールバック失敗時の再試行ルール、FAQ、およびコールバックの成功を判断する方法についても説明します。
概要
ApsaraVideo VODは、複数のリージョンのイベント通知をサポートしています。 各リージョンのイベント通知のコールバックメソッドとコールバックURLを指定できます。 さまざまなリージョンでビデオをアップロードおよび保存できます。 ビデオが処理された後、ApsaraVideo VODは、リージョンに指定したコールバック方法とコールバックURLに基づいて処理結果を通知します。
HTTP URLのみがコールバック本文で返されます。 HTTPS URLはサポートされていません。 HTTPS URLを返す場合は、イベント通知に関するFAQトピックに記載されているソリューションを参照してください。
コールバックメソッド
HTTPコールバック (HTTPS互換):
ApsaraVideo VODでイベント通知を取得するために、HTTPコールバックが自動的に返されます。 HTTPサービスをデプロイしてコールバックメッセージを受信し、ApsaraVideo VODコンソールでコールバックURLを指定する必要があります。 イベントが発生すると、ApsaraVideo VODは指定されたコールバックURLにHTTP POSTリクエストを送信します。 その後、HTTPレスポンスボディで通知内容が返されます。
Simple Message Queue (formerly MNS) コールバック:
SMQコールバックを使用する場合は、Simple Message Queue (formerly MNS) でイベント通知を受け取る必要があります。 ApsaraVideo VODにSMQへのアクセスを許可し、SMQコンソールでキューを作成するか、既存のキューを使用してから、ApsaraVideo VODでイベント通知を設定する必要があります。 イベントが発生すると、ApsaraVideo VODはコールバックメッセージをキューにプッシュします。 SMQからコールバックメッセージを取得する必要があります。 SMQコンソールでキューを作成してコールバックメッセージを受信する方法の詳細については、「コンソールでキューを管理する」をご参照ください。
HTTPコールバックとSMQコールバックの比較
項目 | HTTPコールバック | SMQコールバック (推奨) |
信頼性 | HTTPメッセージ受信サービスが異常の場合、メッセージが失われる可能性があります。 たとえば、サービスが中断または再起動されると、メッセージが失われる可能性があります。 | SMQコールバックは、HTTPコールバックよりも信頼性が高いです。 ほぼすべてのSMQコールバックは、適切に設定されていれば成功します。 |
セキュリティ | HTTPコールバックを使用すると、すべてのユーザーが指定されたコールバックURLにコールバックリクエストを送信できます。 ただし、コールバック認証を使用して無効なリクエストを拒否できます。 これにより、HTTPコールバックのセキュリティを強化できます。 詳細については、「HTTPコールバック認証」をご参照ください。 | 許可されたユーザーのみがメッセージキューを読み書きできるため、SMQコールバックはより安全です。 |
利便性 | HTTPコールバックを使用するにはメッセージ受信サービスをデプロイするだけでよいため、HTTPコールバックはSMQコールバックよりも便利です。 | SMQコールバックを使用するには、Simple Message Queue (formerly MNS) をアクティブ化して構成し、メッセージを消費するアプリケーションを開発してデプロイする必要があります。 |
コールバックプロトコル
一般的なコールバックパラメーター
パラメーター | タイプ | 説明 |
EventTime | String | イベントが生成された時刻。 時刻はyyyy-MM-ddTHH:mm:ssZ形式のISO 8601標準に従い、UTCで表示されます。 |
EventType | String | イベントタイプ。 |
VideoId | String | オーディオファイルまたはビデオファイルのID。 |
Status | String | イベントの結果。 有効な値:
|
Extend | String | アップロード操作または送信操作でUserDataパラメーターが指定されていて、Extendフィールドが含まれている場合、コールバックが返されると、ユーザーデータはパススルーモードで返されます。 このフィールドの値の長さは最大512バイトです。 |
コールバックの決定と再試行
HTTPコールバック
HTTPコールバック要求が送信された後、ApsaraVideo VODは、HTTPメッセージ受信サービスによって返された応答のHTTPステータスコードをチェックします。 HTTPステータスコード200が返された場合、コールバックは成功です。 200以外のHTTPステータスコードが返された場合、または5秒以内に応答が返されなかった場合、コールバックは失敗します。 ApsaraVideo VODは、レスポンスのHTTPステータスコードのみをチェックし、レスポンス本文を無視します。
不正なコールバックURLや異常なHTTPメッセージ受信サービスなどの不正な設定によりコールバックリクエストの送信が失敗した場合、ApsaraVideo VODはコールバックリクエストをさらに2回再試行します。 3回の試行後にコールバックリクエストの送信に失敗した場合、ApsaraVideo VODはリクエストを破棄します。
Simple Message Queue (formerly MNS) のコールバック
Simple Message Queue (formerly MNS) コールバックを使用する場合、ApsaraVideo VODは、メッセージがSimple Message Queue (formerly MNS) キューにプッシュされたときにSMQコールバックが成功したと判断します。
設定が正しくないためにメッセージのキューへのプッシュに失敗した場合、ApsaraVideo VODはメッセージのプッシュをさらに2回再試行します。 たとえば、ApsaraVideo VODがSMQへのアクセスを許可されていない場合、Simple Message Queue (formerly MNS) エンドポイントがパブリックエンドポイントでない場合、またはキュー名が正しくない場合、コールバックメッセージの送信に失敗します。 3回の試行後にメッセージのプッシュに失敗した場合、ApsaraVideo VODはメッセージを破棄します。
コールバックが失敗すると、ApsaraVideo VODは1秒間隔でコールバックを再試行します。 3回の試行でコールバックが失敗した場合、ApsaraVideo VODはリクエストを破棄します。 HTTPコールバックよりも信頼性が高いため、Simple Message Queue (formerly MNS) コールバックの使用を推奨します。 ほぼすべてのSMQコールバックは、適切に設定されていれば成功します。
コールバック設定
HTTPコールバックとSMQコールバックの設定は異なります。 ApsaraVideo VODコンソール、API、またはSDKを使用して、HTTPコールバックとSMQコールバックを設定できます。 詳細については、「HTTPコールバックの使用方法」および「使用状況の注意事項」をご参照ください。
イベントタイプ
次の表に、ApsaraVideo VODでイベント通知が提供されるイベントタイプを示します。
イベントタイプ | 関連ドキュメント |
FileUploadComplete | |
ImageUploadComplete | |
StreamTranscodeComplete | |
TranscodeComplete | |
SnapshotComplete | |
DynamicImageComplete | |
AddLiveRecordVideoComplete | |
LiveRecordVideoComposeStart | |
UploadByURLComplete | |
UploadByURLComplete | |
CreateAuditComplete | |
VideoAnalysisComplete | |
UpdateMediaStorageClassComplete | |
RestoreMediaComplete | |
AttachedMediaUploadComplete | |
ProduceMediaComplete | |
DeleteMediaComplete | |
MediaBaseChangeComplete | |
SubmitMediaRefreshComplete |
よくある質問
コールバックメッセージからHTTPS URLを取得する方法や複数のコールバックURLを指定する方法など、よくある質問の詳細については、「イベント通知に関するよくある質問」をご参照ください。