ApsaraVideo VODはコールバック機能を提供します。 ApsaraVideo VOD APIまたはSDKを使用して複数のHTTPまたはSimple Message Queue (formerly MNS) コールバックURLを指定する場合、UserDataパラメーターを設定できます。 この機能は、特定の種類のイベント通知を複数のサーバーに送信してさらに処理したり、開発、テスト、運用などの複数の環境にコールバックメッセージを送信したりする場合に使用できます。 このトピックでは、複数のコールバックURLを指定する方法について説明します。
説明
ApsaraVideo VODでは、各リージョンに1つのコールバック方法とコールバックURLのみを設定できます。 コールバック設定はグローバルに有効になります。 ApsaraVideo VODには、マルチ環境サービスの複数のコールバックURLを指定できるUserDataパラメーターが用意されています。
グローバルイベント通知の設定
制限事項
Simple Message Queue (formerly MNS) コールバックを使用する場合は、[クラウドリソースアクセス権限付与] ページに移動して、ApsaraVideo VODにSimple Message Queue (formerly MNS) へのアクセスを許可する必要があります。
使用上の注意
ApsaraVideo VODは、グローバルイベント通知のHTTPコールバックとSimple Message Queue (formerly MNS) コールバックをサポートしています。 ApsaraVideo VODは複数のリージョンで利用でき、各リージョンに1つのコールバック方法と1つのコールバックURLのみを設定できます。 これにより、イベントがトリガーされると、ApsaraVideo VODは、リージョンに指定したコールバック設定に基づいてイベント通知を送信します。 イベントをトリガーするには、次の操作を実行します。オーディオ、ビデオ、または画像ファイルをアップロードするか、コード変換ジョブやレビュージョブなどのメディア処理ジョブを送信します。
設定方法
ApsaraVideo VODコンソール、SDK、またはAPIを使用して、グローバルイベント通知を設定できます。 手順と制限の詳細については、「HTTPコールバック」および「SMQコールバック」をご参照ください。
アップロード中にUserDataでコールバックURLを指定する
制限事項
UserDataパラメーターは、ApsaraVideo VOD SDKまたはAPIを使用してのみ指定できます。
グローバル通知機能を有効にし、コールバックを設定するイベントを指定する必要があります。 それ以外の場合、UserDataで指定したコールバックURLは有効になりません。
使用上の注意
サーバー操作SDKまたはアップロードSDKを使用してApsaraVideo VODにアップロードされるメディアファイルのコールバックURLをUserDataで指定できます。 指定したコールバックURLは、メディアソースファイルにバインドされています。 この場合、メディアファイルのトランスコードジョブやレビュージョブなどのメディア処理ジョブを送信すると、イベント通知がコールバックURLに送信されます。 コールバックが設定されるイベントは、グローバルコールバック設定で指定されます。 メディアリソースファイルを削除すると、その後のイベント通知は、グローバルコールバック設定で指定されたコールバックURLに送信されます。
関連する API 操作
サーバー操作SDKまたはアップロードSDKの使用方法の詳細については、「使用説明書」および「概要」をご参照ください。
次の操作を呼び出してメディアファイルをアップロードするときに、UserDataパラメーターを指定できます。
メディア処理中にUserDataでコールバックURLを指定する
制限事項
UserDataパラメーターは、ApsaraVideo VOD SDKまたはAPIを使用してのみ指定できます。
グローバル通知機能を有効にし、コールバックを設定するイベントを指定する必要があります。 それ以外の場合、UserDataで指定したコールバックURLは有効になりません。
使用上の注意
ApsaraVideo VOD SDKまたはAPIを使用してトランスコードジョブなどのメディア処理ジョブを送信する場合、UserDataでコールバックURLを指定できます。
メディア処理中にUserDataで指定したコールバックURLは、単一のイベントに対してのみ有効です。 メディア処理中にコールバックURLを指定しない場合、アップロード中にUserDataで指定したコールバックURLは、グローバルコールバック設定で指定したコールバックURLが使用される前に優先的に使用されます。
関連する API
次の操作を呼び出してメディア処理ジョブを送信するときに、UserDataパラメーターを指定できます。
サンプルコード
UserDataパラメーターの構造と詳細については、「リクエストパラメーター」をご参照ください。 次のサンプルコードは、UserDataの構造の例を示しています。
{
"Extend":{
"width":1280,
"id":"028a8e56b*****1ebf6bb7afc74",
"height":720
},
"AccelerateConfig":{
"Type":"oss",
"Domain":"https://oss-accelerate.aliyuncs.com"
},
"MessageCallback":{
"CallbackURL":"https://xxxxx.com/2016-08-15/proxy/httpcallback/testcallback/",
"CallbackType":"http"
}
}
次のサンプルコードは、UserDataのビルド方法の例を示しています。
public static String buildUserData() {
JSONObject userData = new JSONObject();
// Configure message callbacks.
JSONObject messageCallback = new JSONObject();
messageCallback.put("CallbackType", "http");
messageCallback.put("CallbackURL", "https://xxxxx.com/2016-08-15/proxy/httpcallback/testcallback/");
userData.put("MessageCallback", messageCallback);
// The fields that you want to pass to UserData. You can pass custom parameters.
JSONObject extend = new JSONObject();
extend.put("id", "028a8e56b*****1ebf6bb7afc74");
extend.put("width", 1280);
extend.put("height", 720);
userData.put("Extend", extend);
// Configure upload acceleration if the acceleration service is needed. Before you can use upload acceleration, apply to enable the acceleration feature.
JSONObject accelerateConfig = new JSONObject();
accelerateConfig.put("Type", "oss");
accelerateConfig.put("Domain", "https://oss-accelerate.aliyuncs.com");
userData.put("AccelerateConfig", accelerateConfig);
return userData.toJSONString();
}