このチュートリアルでは、「通常のコールバック」と「信頼できるコールバック」という2つのメソッドをはじめとするVODのイベント通知の使用方法について、詳しくご説明します。
前提条件
通常のコールバックでは、Python 2 .7ランタイム環境が必要です。
通常のコールバック
コールバック受信サービスのデプロイ
通常のコールバック を使用してイベント通知を取得するには、パブリックIPのあるサーバーにコールバック受信サービスをデプロイする必要があります。ここでは例としてCVMインスタンスにこのサービスをデプロイする方法をご説明します。 1. CVMコンソールのインスタンスリスト ページ に入り、【新規作成】をクリックします。 2. 【クイックコンフィグレーション】メニューを選択し、【イメージ】で“Ubuntu Server”または“CentOS”を選択して、【パブリックネットワーク帯域幅】で“1Mbps”を選択し、“**無料のパブリックIPの割り当て **”にチェックを入れて、【今すぐ購入】をクリックします。
3. インスタンスリスト ページに再度入り、作成に成功したCVMインスタンス を見つけ、【プライマリIPアドレス】のパブリックIPをコピーします(この例では134.XXX.XXX.167)。
4. 購入したCVMにログインし、ソースコード圧縮パッケージ をダウンロードして作業ディレクトリに解凍し、次のコマンドを実行します。
python NotificationReceiveServer.py
コマンドが実行された後、CVMの標準出力で Started httpserver on port 8080が出力されます。サービスプロセスが開始されてポート8080を監視していることを意味します。 5. ブラウザにhttp://134.XXX.XXX.167:8080と入力すると、CVMの標準出力で次のHTTPリクエスト情報が出力されます。
通常のコールバックのコンフィグレーション
1. VODコンソールにログインし、左側メニューバーの【コールバック設定】をクリックします。 2. 【設定】をクリックします。
コールバックモード:「通常のコールバック」を選択します。
コールバックURL:http://134.XXX.XXX.167:8080を入力します。
コールバックイベント:「ビデオアップロード完了コールバック」にチェックを入れます。
3. 【OK】をクリックして設定を完了してください。
通常のコールバックの開始と受信
デモビデオ をローカルにダウンロードして、手引きとしてご利用ください。 1. 左側メニューバーの【メディア資産管理】をクリックし、【アップロード済み】を選択して、【ビデオのアップロード】をクリックします。
2. 「ビデオのアップロード」ダイアログボックスが表示されたら、【ローカルからのアップロード】を選択し、【ビデオの選択】をクリックしてデモビデオをVODプラットフォームにアップロードします。
アップロードを実行すると、“アップロード中”バーにビデオアップロードの進行状況が表示されます。
アップロードが完了すると、“アップロード済み”バーのビデオリストに、アップロードされたビデオとビデオに対応するID(FileId)が表示されます。
4. 【メディア資産管理】の「アップロード済み」バーで、先ほどアップロードしたビデオにチェックを入れ、【ビデオ処理】 をクリックします。【処理タイプ】で「トランスコードテンプレートの手動選択」オプションを選択し、【トランスコードテンプレート】の「**MP4-LD-FLU (10)**」にチェックを入れ、【ビデオカバー】にチェックを入れたまま、【OK】をクリックします。 5. 10分間待った後、CVMをチェックし、標準出力でタスクフローステータスの変更 通知の内容を出力します。ここには、トランスコードの結果(TypeがTranscodeの場合)やカバー生成時点のスクリーンキャプチャの結果(TypeがCoverBySnapshotの場合)が含まれます。
この時点で、ビデオをアップロードしてトランスコードタスク実行が完了しています。アップロードとトランスコードが完了すると、コールバック受信サービスは「ビデオのアップロードの完了」と「タスクフロー状態の変更」通知を受信します。
信頼できるコールバック
1. VODコンソールにログインし、左側メニューバーの【コールバック設定】をクリックします。 2. 【設定】をクリックします。
コールバックモード:「信頼できるコールバック」を選択します。
コールバックイベント:「ビデオアップロード完了コールバック」にチェックを入れます。
3. 【OK】をクリックして設定を完了してください。
信頼できるコールバックの開始
1. 左側メニューバーの【メディア資産管理】をクリックし、【アップロード済み】を選択して、【ビデオのアップロード】をクリックします。
2. 「ビデオのアップロード」ダイアログボックスが表示されたら、【ローカルからのアップロード】を選択し、【ビデオの選択】をクリックしてデモビデオをVODプラットフォームにアップロードします。
アップロードを実行すると、“アップロード中”バーにビデオアップロードの進行状況が表示されます。
アップロードが完了すると、“アップロード済み”バーのビデオリストに、アップロードされたビデオとビデオに対応するID(FileId)が表示されます。
3. 【メディア資産管理】の「アップロード済み」バーで、先ほどアップロードしたビデオにチェックを入れ、【ビデオ処理】 をクリックします。【処理タイプ】で「トランスコードテンプレートの手動選択」オプションを選択し、【トランスコードテンプレート】の「**MP4-LD-FLU (10)**」にチェックを入れ、【ビデオカバー】にチェックを入れたまま、【OK】をクリックします。 この時点で、ビデオは再度アップロードされ、ビデオのトランスコードタスクが開始されました。これらの操作によりイベント通知がトリガーされます。
信頼できるコールバックのプル
イベント通知がトリガーされたら、信頼できるコールバックを自発的にプルする必要があります。APIツールを介してPullEventsコマンドを実行し、消費されていないイベント通知をクエリーすることができます。具体的な手順は次のとおりです。 2. 右側のバーの中から【オンラインコール】を選択し、【リクエスト送信】をクリックします。
リクエストを送信した後、もどってきた結果の中のイベントリストEventSetを見ます。イベントリストの中には2つのイベント通知が含まれ、タイプは「ビデオアップロード完了」と「タスクフロー状態の変更」で、対応するイベントハンドラはそれぞれ8078360634045903972と8078360634045903972です。
この時点で、信頼できるコールバックの方式で、「ビデオアップロード完了」と「タスクフロー状態の変更」の2つの通知をプルしました。続いて、プルしたイベント通知をすみやかに確認する必要があります。
信頼できるコールバックの確認
プルした信頼できるコールバックは、30秒以内に確認を終える必要があります。そうでない場合、
イベントハンドラが30秒後に再びAPIを呼び出して確認を行い、呼び出しに失敗します。
イベントは30秒を超えても確認がないと、次の回の信頼できるコールバックのプルの時に再びプルされます。
APIツールを使用してConfirmEventsコマンドを実行し、消費されていないイベント通知をクエリーすることができます。具体的な手順は次のとおりです。 2. 「EventHandles.N」の入力ボックスに、イベント通知をプルした時に取得したイベントハンドラを入力します。
3. 右側のバーの中から【オンラインコール】を選択し、【リクエスト送信】をクリックします。
リクエストに成功すると、次の情報が返ってきます。
レスポンスに失敗した場合は、次をご確認ください。
イベントハンドラの入力ミス。
イベントがプルされ30秒以上経過していないか。
4. 5分経ってから、再びAPIツールを使用してPullEventsコマンドを実行し、イベント通知をプルします。 ResourceNotFoundのエラーが戻ってきた場合は、プルできる通知がすでにないことを意味します。