Use o Simple Message Queue (formerly MNS) para receber notificações de eventos do ApsaraVideo VOD.
Informações de contexto
O Alibaba Cloud Simple Message Queue (formerly MNS) (SMQ) é um service de fila de mensagens distribuída eficiente, confiável, seguro e escalável. O Simple Message Queue (formerly MNS) oferece um modelo de fila que permite que vários produtores e consumidores acessem a mesma fila simultaneamente. Quando uma mensagem é recuperada, ela fica indisponível para outros consumidores por um período determinado. 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 informações sobre o Simple Message Queue (formerly MNS), consulte What is 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 ocorre um evento, o ApsaraVideo VOD grava a notificação de evento na mensagem do Simple Message Queue (formerly MNS) no Simple Message Queue (formerly MNS).
Um callback é considerado bem-sucedido somente se o ApsaraVideo VOD gravar a mensagem com sucesso 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), uso de um endpoint não público ou nome de fila incorreto, o ApsaraVideo VOD faz até três tentativas de envio do callback. Se as três tentativas falharem, a mensagem será descartada. Para obter mais informações sobre a lógica de validação e nova tentativa de callback, consulte Callback validation and retries.
Após um callback bem-sucedido, recupere as mensagens do Simple Message Queue (formerly MNS) e visualize o conteúdo da notificação de evento. Após processar uma mensagem, exclua-a explicitamente para evitar que seja consumida novamente.
Como usar
Pré-requisitos
-
Você deve ter uma conta Alibaba Cloud com a verificação de identidade concluída. Para criar uma conta Alibaba Cloud, acesse o site oficial da Alibaba Cloud. Para obter mais informações, consulte Register an Alibaba Cloud account.
O ApsaraVideo VOD está ativado. Para obter mais informações, consulte Activate ApsaraVideo VOD.
O Simple Message Queue (formerly MNS) está ativado. Para obter mais informações, consulte Activate Simple Message Queue (formerly MNS) and grant permissions.
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, portanto, configure um método de callback e uma url exclusivos para cada região.
-
No Simple Message Queue (formerly MNS), é possível criar várias filas do Simple Message Queue (formerly MNS) em diferentes regiões. No entanto, no ApsaraVideo VOD, configure 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 os 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.
-
Se os seus vídeos estiverem armazenados em outras regiões, como Singapore ou Japan, crie ou use uma fila de mensagens na mesma região.
Por exemplo, se os seus vídeos estiverem armazenados na região Singapore, crie ou use uma fila de mensagens na região Singapore.
Os callbacks SMQ aceitam várias urls de callback para diferentes ambientes de desenvolvimento. Para obter mais informações, consulte Configure multiple callback URLs.
Procedimento
-
Autorize o ApsaraVideo VOD a acessar o Simple Message Queue (formerly MNS).
Conceda a autorização de uma das seguintes maneiras:
-
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 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 obter instruções detalhadas, consulte Create a RAM User and Grant Permissions.
-
-
crie uma fila no Simple Message Queue (formerly MNS).
crie uma nova fila ou use uma existente no Simple Message Queue (formerly MNS). crie a fila usando o console ou uma API/sdk. Para instruções do console, consulte Create a queue. Para obter informações sobre as operações de API e sdks relacionados, consulte Queue operations.
NotaRecomendamos criar ou usar uma fila na região sugerida em Usage notes.
-
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 são aplicadas globalmente. Use uma OpenAPI para configurar callbacks globais ou implementar uma substituição de solicitação única.
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 de destino na lista suspensa ao lado de Workbench.
-
Configure o Callback.
Na seção Callback, clique em Modify.
-
Configure 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
selecione uma fila na região especificada.
NotaSe não houver filas disponíveis, crie uma primeiro. Para obter mais informações, consulte Create a queue.
Evento de callback
selecione os tipos de evento para os quais deseja receber notificações. Para obter mais informações sobre os tipos de evento suportados e suas descrições, consulte Event list.
NotaSe você 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 e salve as configurações de callback do Simple Message Queue (formerly MNS).
API
Chame operações de API para configurar callbacks globais ou realizar uma substituição de solicitação única.
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 de 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 uma única solicitação. Este método é suportado pelas seguintes operações de API:
NotaA substituição de solicitação única, especificando o campo
MessageCallbackno parâmetroUserData, só entra em vigor se você tiver ativado as notificações de eventos globais no ApsaraVideo VOD e configurado os tipos de eventos correspondentes. Caso contrário, a substituição para a solicitação única não terá efeito. -
Acione um evento de callback.
Após configurar 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.
Recupere as mensagens usando o console ou uma API/sdk. Para instruções do console, consulte Receive messages. Para obter uma lista de operações de API e sdks relacionados, consulte Overview of queue-related API operations.
-
Opcional: Exclua mensagens no Simple Message Queue (formerly MNS).
exclua explicitamente a 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.
exclua as mensagens usando o console ou uma API/sdk. Para instruções do console, consulte Queue operations. Para obter uma lista de operações de API e sdks relacionados, consulte Overview of queue-related API operations.
Exemplos de sdk
O Simple Message Queue (formerly MNS) fornece sdks para várias linguagens de programação. Após configurar os callbacks, use o sdk correspondente para consumir mensagens:
Para Java, consulte Queue user guide.
Para Python, consulte Queue user guide.
Para C#, consulte Queue user guide.
Para PHP, consulte Queue user guide.
Para outras linguagens, após se familiarizar com o invocation methods, chame a operação de API ReceiveMessage para recuperar mensagens e a operação de API DeleteMessage para excluí-las.
Documentos relacionados
Para comparar os callbacks HTTP e SMQ, consulte Comparison of HTTP and Simple Message Queue (formerly MNS) callbacks.
Se você encontrar problemas, consulte Event notification FAQ.