すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:イベント通知に関するFAQ

最終更新日:Oct 30, 2024

このトピックでは、イベント通知に関するよくある質問に対する回答を提供します。

よくある質問

コールバックからHTTPS再生URLを取得するにはどうすればよいですか?

ApsaraVideo VODのHTTPコールバックまたはSimple Message Queue (旧MNS) コールバックでは、HTTPS URLは返されません。 コールバックからHTTPS再生URLを取得するには、次の手順を実行します。

  1. ドメイン名のSSL証明書を設定します。

    ドメイン名のSSL証明書を設定している場合は、この手順をスキップします。 SSL証明書の設定方法の詳細については、「HTTPSセキュアアクセラレーションの有効化」をご参照ください。

  2. コールバックの受信に使用されるコードで、HTTP再生URLをHTTPS再生URLに置き換えます。

    たとえば、Javaコードでreplaceメソッドを呼び出して、HTTP URLをHTTPS URLに置き換えます。

複数のコールバックURLを指定する方法?

ApsaraVideo VODコンソールまたはSDKを使用してコールバックを設定するか、SetMessageCallback操作を呼び出してコールバックを設定すると、コールバック設定がグローバルに有効になり、使用できるコールバックURLは1つだけです。 複数のコールバックURLを指定する場合は、次のいずれかの方法を使用します。

  • 方法1: UserDataでコールバックURLを指定する

    CreateUploadVideoSubmitTranscodeJobsなどのAPIを呼び出してコールバックURLを設定するときに、UserDataMessageCallbackフィールドを指定します。 詳細については、「複数のコールバックURLの指定」をご参照ください。

    説明
    • このメソッドはHTTPコールバックのみをサポートします。

    • HTTPコールバック設定を有効にするには、グローバルイベント通知を有効にし、関連イベントを設定する必要があります。

  • 方法2: 各アプリケーションのコールバックURLを指定する

    マルチアプリケーションシステムを使用して、各アプリケーションのコールバックメソッドとURLを設定できます。 詳細については、「マルチアプリケーションサービスの概要」をご参照ください。

HTTPコールバックに関するFAQ

HTTPコールバックの受信失敗のトラブルシューティングを行うにはどうすればよいですか?

  • ApsaraVideo VODコンソールにログインします。 左側のナビゲーションウィンドウで、[構成管理] > [メディア処理] > [コールバック] を選択します。 表示されるページで、コールバック機能が有効になっているかどうか、およびビジネス要件に基づいてイベントコールバックを構成しているかどうかを確認します。

  • 次のサンプルコードを実行して、応答が返されるかどうかを確認します。 応答が返されない場合は、コールバックメッセージを受信したサーバーでエラーが発生していないか確認してください。 実際の使用では、http://example.aliyundoc.com/processMessage を指定したHTTPコールバックURLに置き換えます。

    curl -l -i -H "Content-type: application/json" -X POST -d '{"VideoId":"videoId","EventType":"FileUploadComplete","Status":"success","Size":1439213}' http://example.aliyundoc.com/processMessage

HTTPコールバックリクエストのタイムアウト期間はどのくらいですか? ApsaraVideo VODは、失敗時にコールバックリクエストを何回再送しますか。 再試行間隔はどのくらいですか?

デフォルトでは、5秒以内に応答が返されない場合、HTTPコールバックリクエストはタイムアウトします。 ApsaraVideo VODは、障害時に1秒間隔で最大3回コールバックリクエストを再送します。

再試行回数が制限に達した後、HTTPコールバック要求は破棄されますか? メッセージの損失を防ぐには?

クラッシュ、再起動、ネットワーク到達不能など、コールバックメッセージを受信したサーバーでエラーが発生した場合、再試行回数が制限に達した後、コールバックリクエストは破棄されます。 メッセージの損失を防ぐために、SMQコールバックメソッドを使用することを推奨します。

HTTPコールバックでHTTPステータスコード302がサポートされていますか?

HTTPコールバックメソッドは、HTTPステータスコード200のみをサポートします。 301や302などの他のHTTPステータスコードは、セキュリティ上の理由からサポートされていません。

サーバーがHTTPコールバックリクエストを複数回受信するのはなぜですか?

HTTPコールバックは、HTTPステータスコード200が返された場合にのみ成功します。 200以外のHTTPステータスコードが返された場合、またはコールバックがタイムアウトした場合、コールバックは失敗し、ApsaraVideo VODはコールバック要求を最大3回再送信しようとします。

HTTP認証とは

ApsaraVideo VODでは、HTTP認証中に特定の署名ヘッダーをHTTPコールバックリクエストに追加できます。 コールバックメッセージを受信するサーバーは、ApsaraVideo VOD以外の要求者からの不正な要求を防ぐために署名を検証します。 HTTP認証を有効にするかどうかを決定できます。

SMQコールバックに関するFAQ

SMQキューにコールバックメッセージが存在しないのはなぜですか。

  • ApsaraVideo VODがSimple Message Queue (formerly MNS) へのアクセスを許可されていない、SMQエンドポイントがパブリックエンドポイントでない、またはキュー名が無効なため、コールバックメッセージをSMQキューにプッシュできません。

  • コールバックメッセージの生存時間 (TTL) が短すぎる場合、メッセージは消費される前に解放される可能性があります。 TTLを3,600秒に設定することを推奨します。

  • 最大メッセージ長が短すぎると、コールバックメッセージがSMQキューにプッシュされない可能性があります。 デフォルトのメッセージ長である65,536バイトを使用することを推奨します。

メッセージを複数回受信するのはなぜですか?

メッセージは、それが消費された後、短期間は見えない。 手動で、またはAPI操作を呼び出してメッセージを削除する必要があります。 そうでなければ、メッセージはその期間の後に再び消費され得ます。

SMQコールバックメソッドは認証をサポートしていますか?

ApsaraVideo VODは、ApsaraVideo VODがSMQへのアクセスを許可された後にのみ、コールバックメッセージをSMQキューにプッシュできます。 SMQコールバックはHTTPコールバックよりも安全であり、認証は必要ありません。

SMQコールバックメソッドはどのリージョンで利用できますか?

  • 中国 (北京) リージョンや中国 (上海) リージョンなど、中国本土にビデオを保存する場合は、中国 (上海) リージョンでSMQキューを使用することを推奨します。 中国 (上海) リージョン以外のリージョンのキューにコールバックメッセージをプッシュすると、低遅延が発生する可能性があります。

  • シンガポールリージョンでビデオを保存する場合は、シンガポールリージョンでSMQキューを使用することを推奨します。

  • ビデオをドイツ (フランクフルト) リージョンに保存する場合は、ドイツ (フランクフルト) リージョンでSMQキューを使用することを推奨します。

リージョン間のコールバックにSMQキューを使用できますか?

はい。 たとえば、ビデオを中国 (上海) または中国 (北京) リージョンに保存および処理し、コールバックメッセージを中国 (深セン) リージョンのSimple Message Queue (formerly MNS) キューにプッシュできます。 しかしながら、メッセージ配信は、ネットワーク待ち時間のために遅延され得ます。 そのため、動画が保存されているリージョンのSMQキューにメッセージをプッシュすることをお勧めします。