Use o Simple Message Queue (formerly MNS) para receber notificações de eventos do ApsaraVideo VOD.
Informações básicas
O Alibaba Cloud Simple Message Queue (formerly MNS) (SMQ) é um service de fila de mensagens distribuído eficiente, confiável, seguro e escalável. O Simple Message Queue (formerly MNS) oferece um modelo de fila que permite a múltiplos produtores e consumidores acessarem simultaneamente a mesma fila. Após a recuperação, a mensagem fica indisponível para outros consumidores por um período específico. Exclua explicitamente a mensagem após o consumo; caso contrário, ela poderá ser consumida novamente. O ApsaraVideo VOD aceita o uso do Simple Message Queue (formerly MNS) para enviar informações de callback. Para obter mais detalhes sobre o Simple Message Queue (formerly MNS), consulte O que é o Simple Message Queue (formerly MNS)?.
Mecanismo de callback do Simple Message Queue (formerly MNS)
Crie uma fila no Simple Message Queue (formerly MNS) e configure os callbacks correspondentes no ApsaraVideo VOD.
Quando um evento ocorre, o ApsaraVideo VOD grava a notificação de evento na fila do Simple Message Queue (formerly MNS).
O callback só é considerado bem-sucedido se o ApsaraVideo VOD gravar a mensagem com êxito no Simple Message Queue (formerly MNS). Se a operação de gravação falhar devido a erros de configuração — como falta de autorização do ApsaraVideo VOD para acessar o Simple Message Queue (formerly MNS), endpoint não público ou nome de fila incorreto — o ApsaraVideo VOD tentará enviar o callback até três vezes. Se todas as tentativas falharem, a mensagem será descartada. Para mais detalhes sobre a lógica de validação e nova tentativa de callback, consulte Validação e novas tentativas de callback.
Após um callback bem-sucedido, recupere as mensagens do Simple Message Queue (formerly MNS) para visualizar o conteúdo da notificação de evento. Depois de processar uma mensagem, exclua-a explicitamente para evitar que seja consumida novamente.
Como usar
Pré-requisitos
-
Você deve ter uma conta Alibaba Cloud criada e a verificação de identidade concluída. Para criar uma conta Alibaba Cloud, visite o site oficial da Alibaba Cloud. Para mais informações, consulte Criar uma conta Alibaba Cloud.
O ApsaraVideo VOD deve estar ativado. Para mais informações, consulte Ativar o ApsaraVideo VOD.
O Simple Message Queue (formerly MNS) deve estar ativado. Para mais informações, consulte Ativar o Simple Message Queue (formerly MNS) e conceder permissões.
Observações de uso
O ApsaraVideo VOD está disponível em várias regiões. As configurações de notificação de eventos são independentes para cada região, permitindo configurar um método de callback e uma URL exclusivos para cada uma delas.
-
No Simple Message Queue (formerly MNS), é possível criar múltiplas filas em diferentes regiões. No entanto, no ApsaraVideo VOD, você pode configurar apenas uma fila do Simple Message Queue (formerly MNS) para callbacks MNS em cada região. Recomendamos criar e usar filas nas seguintes regiões:
Se seus vídeos estiverem armazenados em uma região da china continental, como China (North 2) ou China (East 2), use uma fila na região China (Shanghai). O envio de mensagens para uma fila fora da região China (Shanghai) pode causar pequenos atrasos.
-
Caso seus vídeos estejam armazenados em outras regiões, como Singapore ou Japan, crie ou use uma fila de mensagens na mesma região.
Por exemplo, se seus vídeos estiverem armazenados na região Singapore, crie ou use uma fila de mensagens na região Singapore.
Os callbacks SMQ aceitam múltiplas URLs de callback para diferentes ambientes de desenvolvimento. Para mais informações, consulte Configurar múltiplas URLs de callback.
Procedimento
-
Autorize o ApsaraVideo VOD a acessar o Simple Message Queue (formerly MNS).
Conceda a autorização de uma das seguintes formas:
-
Método 1: Conceda ao ApsaraVideo VOD permissões para acessar seus recursos cloud. Isso inclui permissões parciais para OSS, Simple Message Queue (formerly MNS), CDN e KMS.
Faça login no Alibaba Cloud console, acesse a página de RAM Quick Authorization e clique em Agree to Authorization para conceder as permissões.

-
Método 2: Conceda a um usuário RAM, grupo de usuários RAM ou função RAM as permissões necessárias para acessar o Simple Message Queue (formerly MNS).
Adicione a política de sistema AliyunMNSFullAccess (permissões para gerencie o Simple Message Queue (formerly MNS)) ou AliyunMNSReadOnlyAccess (permissões para gerencie o Simple Message Queue (formerly MNS)) à sua política de autorização. Para instruções detalhadas, consulte Criar um usuário RAM e conceder permissões.
-
-
Crie uma fila no Simple Message Queue (formerly MNS).
Crie uma nova fila ou use uma existente no Simple Message Queue (formerly MNS). É possível criar uma fila usando o console ou uma API/SDK. Para instruções via console, consulte Criar uma fila. Para informações sobre as operações de API e SDKs relacionados, consulte Operações de fila.
NotaRecomendamos criar ou usar uma fila na região sugerida em Observações de uso.
-
No ApsaraVideo VOD, configure as notificações de eventos para usar o método de callback do Simple Message Queue (formerly MNS).
NotaAs configurações de callback definidas no console do ApsaraVideo VOD aplicam-se globalmente. Use uma OpenAPI para configure callbacks globais ou implementar uma substituição para uma única solicitação.
console
Faça login no console do ApsaraVideo VOD.
No painel de navegação à esquerda, escolha Configuration Management > Media Processing > Callback.
Na barra de navegação superior, selecione a região desejada na lista suspensa ao lado de Workbench.
-
Configure o Callback.

Na seção Callback, clique em Modify.
-
Defina os parâmetros de callback.
Parâmetro
Descrição
Método de callback
Selecione Simple Message Queue (formerly MNS).
Região
Selecione a região onde o vídeo está armazenado. Recomendamos selecionar a mesma região da fila criada no Simple Message Queue (formerly MNS).
Fila
Escolha uma fila na região especificada.
NotaSe não houver filas disponíveis, crie uma primeiro. Para mais informações, consulte Criar uma fila.
Evento de callback
Selecione os tipos de eventos para os quais deseja receber notificações. Para mais informações sobre os tipos de eventos compatíveis e suas descrições, consulte Lista de eventos.
NotaAo selecionar Video AI Processing Complete, as notificações serão acionadas para qualquer um dos eventos de IA, incluindo AIMediaAuditComplete, AIMediaDNAComplete e AIVideoTagComplete.
Clique em OK para salve as configurações de callback do Simple Message Queue (formerly MNS).
API
Chame operações de API para configure callbacks globais ou realizar uma substituição para uma única solicitação.
Configuração global: Chame a API SetMessageCallback, defina o parâmetro de solicitação
CallbackTypecomo Simple Message Queue (formerly MNS) e configure outros parâmetros, comoEventTypeList(tipo de evento de callback),MnsEndpoint(endpoint público da fila de mensagens) eMnsQueueName(nome da fila de mensagens).-
Substituição para solicitação única: Ao chamar uma operação de API para fazer upload de um arquivo de mídia ou iniciar um job de processamento de mídia, especifique o campo MessageCallback no parâmetro de solicitação
UserDatapara substituir as configurações globais de callback para essa solicitação específica. As seguintes operações de API aceitam este método:
NotaA substituição para uma única solicitação, feita ao especificar o campo
MessageCallbackno parâmetroUserData, só terá efeito se você tiver habilitado as notificações globais de eventos no ApsaraVideo VOD e configurado os tipos de eventos correspondentes. Caso contrário, a substituição para a solicitação única não será aplicada. -
Acione um evento de callback.
Após configure as notificações de eventos, execute operações no ApsaraVideo VOD, como fazer upload de arquivos de mídia ou iniciar jobs de processamento de mídia, para acionar eventos de callback.
-
Visualize as mensagens no Simple Message Queue (formerly MNS).
Quando um evento de callback é acionado, o ApsaraVideo VOD grava a notificação de evento na fila especificada. Recupere as mensagens do Simple Message Queue (formerly MNS) e visualize o conteúdo da notificação nos detalhes da mensagem.
É possível recuperar mensagens usando o console ou uma API/SDK. Para instruções via console, consulte Receber mensagens. Para obter uma lista de operações de API e SDKs relacionados, consulte Visão geral das operações de API relacionadas a filas.
-
Opcional: Exclua mensagens no Simple Message Queue (formerly MNS).
Exclua explicitamente uma mensagem após o consumo. Caso contrário, ela ficará visível novamente na fila após um período específico e poderá ser consumida outra vez.
Use o console ou uma API/SDK para excluir mensagens. Para instruções via console, consulte Operações de fila. Para obter uma lista de operações de API e SDKs relacionados, consulte Visão geral das operações de API relacionadas a filas.
Exemplos de SDK
O Simple Message Queue (formerly MNS) fornece SDKs para diversas linguagens de programação. Após configure os callbacks, use o SDK correspondente para consumir mensagens:
Para Java, consulte o Guia do usuário de filas.
Para Python, consulte o Guia do usuário de filas.
Para C#, consulte o Guia do usuário de filas.
Para PHP, consulte o Guia do usuário de filas.
Para outras linguagens, após familiarizar-se com os métodos de invocação, chame a operação de API ReceiveMessage para recuperar mensagens e a operação de API DeleteMessage para excluí-las.
Documentos relacionados
Para comparar callbacks HTTP e SMQ, consulte Comparação entre callbacks HTTP e Simple Message Queue (formerly MNS).
Em caso de problemas, consulte as Perguntas frequentes sobre notificação de eventos.