Defina o parâmetro UserData na API ou no SDK do ApsaraVideo VOD para especificar várias URLs de callback HTTP ou do Simple Message Queue (formerly MNS). Esse recurso é útil para enviar notificações de eventos a vários servidores ou entregar mensagens de callback em ambientes diferentes, como desenvolvimento, teste e produção.
Descrição
O ApsaraVideo VOD permite configurar apenas um método de callback e uma URL de callback por região. Essa configuração tem efeito global. Quando vários services compartilham a mesma instância do ApsaraVideo VOD, especifique URLs de callback diferentes no campo MessageCallback do UserData para cada service. Esses callbacks não interferem entre si. Para definir várias URLs de callback em services com múltiplos ambientes, use o parâmetro UserData.
Configure notificações globais de eventos
Limites
Para usar callbacks do Simple Message Queue (formerly MNS), acesse a página e autorize o ApsaraVideo VOD a acessar o Simple Message Queue (formerly MNS).
Observações de uso
O ApsaraVideo VOD oferece suporte a callbacks HTTP e do Simple Message Queue (formerly MNS) para notificações globais de eventos. Configure somente um método de callback e uma URL de callback por região. Ao acionar eventos como upload de arquivos de áudio, vídeo ou imagem, ou submeter jobs de processamento de mídia como transcodificação e revisão, o ApsaraVideo VOD envia notificações conforme as configurações de callback da região.

Método de configuração
Configure as notificações globais de eventos pelo console do ApsaraVideo VOD, SDK ou API. Para mais detalhes sobre o procedimento e os limites, consulte HTTP callbacks e SMQ callbacks. Para configurar pelo console, faça login no console do ApsaraVideo VOD e escolha Configuration Management > Media Processing Configuration > Callback Settings. Em seguida, selecione um método de callback e configure a URL de callback e os tipos de evento.
Especifique URLs de callback no UserData durante o upload
Limites
Especifique o parâmetro UserData exclusivamente pelo SDK ou pela API do ApsaraVideo VOD.
Ative o recurso de notificação global e defina os eventos para os quais deseja configurar callbacks. Caso contrário, as URLs de callback especificadas em UserData não terão efeito.
Observações de uso
Defina URLs de callback em UserData para arquivos de mídia enviados ao ApsaraVideo VOD com o SDK de operação do servidor ou o SDK de upload. A URL de callback fica vinculada ao arquivo de source da mídia. As notificações de eventos são enviadas para esse endereço ao submeter jobs de processamento de mídia, como transcodificação e revisão. Os eventos com callbacks configurados constam nas configurações globais de callback. Se você excluir o arquivo de recurso de mídia, as notificações subsequentes serão direcionadas à URL definida nas configurações globais.

Operações relacionadas
Para saber mais sobre como usar o SDK de operação do servidor ou o SDK de upload, consulte Usage notes e Overview.
Especifique o parâmetro UserData ao chamar as operações abaixo para fazer upload de arquivos de mídia:
Especifique URLs de callback no UserData durante o processamento de mídia
Limites
Defina o parâmetro UserData apenas pelo SDK ou pela API do ApsaraVideo VOD.
Ative o recurso de notificação global e indique os eventos que receberão callbacks. Sem isso, as URLs definidas em UserData não entrarão em vigor.
Observações de uso
Indique URLs de callback em UserData ao submeter jobs de processamento de mídia, como transcodificação, pelo SDK ou pela API do ApsaraVideo VOD.
A URL de callback definida em UserData durante o processamento de mídia aplica-se apenas a um único evento. Se nenhuma URL for informada nessa etapa, o sistema priorizará as URLs especificadas em UserData durante o upload antes de recorrer às configurações globais de callback.

Operações relacionadas
Informe o parâmetro UserData ao executar as operações a seguir para submeter jobs de processamento de mídia:
Código de exemplo
Consulte Request parameters para entender a estrutura do parâmetro UserData. O exemplo abaixo ilustra essa estrutura:
{
"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",
"EventTypeList":["TranscodeComplete","StreamTranscodeComplete"]
}
}
Veja a seguir como montar o 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/");
messageCallback.put("EventTypeList", new JSONArray().put("TranscodeComplete").put("StreamTranscodeComplete"));
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();
}