Cette rubrique répond aux questions fréquemment posées concernant les notifications d'événements.
Questions courantes
Comment obtenir des URL de lecture HTTPS à partir des callbacks ?
ApsaraVideo VOD ne renvoie pas d'URL HTTPS pour les callbacks HTTP ni pour les callbacks Simple Message Queue (anciennement MNS). Suivez les étapes ci-dessous pour obtenir des URL de lecture HTTPS à partir des callbacks :
-
Configurez un certificat SSL pour le nom de domaine.
Ignorez cette étape si vous avez déjà configuré un certificat SSL pour le nom de domaine. Pour plus d'informations, consultez Activer l'accélération sécurisée HTTPS.
-
Dans le code de réception des callbacks, remplacez l'URL de lecture HTTP par l'URL de lecture HTTPS.
Par exemple, en Java, utilisez la méthode
replace.
Comment spécifier plusieurs URL de callback ?
Si vous configurez les callbacks via la console ApsaraVideo VOD ou le SDK, ou en appelant l'opération SetMessageCallback, les paramètres s'appliquent globalement et une seule URL de callback est disponible. Pour spécifier plusieurs URL de callback, utilisez l'une des méthodes suivantes :
-
Méthode 1 : Spécifiez une adresse webhook dans
UserDataLorsque vous appelez une API pour télécharger des ressources multimédias ou lancer des tâches ApsaraVideo Media Processing, telles que les opérations Obtenir l'URL et les informations d'identification de téléchargement audio/vidéo et Soumettre des tâches de transcodage multimédia, spécifiez d'autres adresses de callback via le champ MessageCallback du paramètre de requête
UserData. Pour plus d'informations, consultez Définir plusieurs adresses de callback.RemarqueCette méthode prend uniquement en charge les callbacks HTTP.
Vous devez activer les notifications d'événements globales et configurer les événements associés pour que les paramètres de callback HTTP prennent effet.
-
Méthode 2 : Spécifiez une URL de callback pour chaque application
Utilisez la fonctionnalité multi-application pour définir une méthode de callback et une adresse webhook indépendantes pour chaque application. Pour plus d'informations, consultez Guide de la console multi-application.
FAQ sur les callbacks HTTP
Comment résoudre les problèmes liés à la non-réception d'un callback HTTP ?
Connectez-vous à la console ApsaraVideo VOD. Dans le volet de navigation de gauche, choisissez Configuration Management > Media Processing > Callback Settings. Vérifiez que la fonctionnalité de callback est activée et que vous êtes abonné aux callbacks requis.
-
Exécutez l'exemple suivant pour vérifier qu'une réponse valide est renvoyée. Si ce n'est pas le cas, examinez le service récepteur des callbacks pour identifier les problèmes. Remplacez
http://example.aliyundoc.com/processMessagepar votre adresse webhook HTTP configurée.curl -l -i -H "Content-type: application/json" -X POST -d '{"VideoId":"videoId","EventType":"FileUploadComplete","Status":"success","Size":1439213}' http://example.aliyundoc.com/processMessage
Quelle est la durée du délai d'expiration pour une requête de callback HTTP ? Combien de fois ApsaraVideo VOD renvoie-t-il la requête de callback en cas d'échec ? Quel est l'intervalle entre les tentatives ?
Par défaut, une requête de callback HTTP expire si aucune réponse n'est reçue sous 5 secondes. En cas d'échec, ApsaraVideo VOD renvoie la requête jusqu'à trois fois, avec un intervalle d'une seconde entre chaque tentative.
Une requête de callback HTTP est-elle abandonnée après avoir atteint la limite de tentatives ? Comment éviter la perte de messages ?
Si votre service de rencontre des problèmes tels que des plantages, des redémarrages ou une indisponibilité du réseau, les messages sont abandonnés une fois la limite de tentatives dépassée. Pour éviter la perte de messages, nous vous recommandons d'utiliser les callbacks MNS.
Le code d'état HTTP 302 est-il pris en charge pour les callbacks HTTP ?
La méthode de callback HTTP prend uniquement en charge le code d'état HTTP 200. Pour des raisons de sécurité, les autres codes d'état HTTP, tels que 301 et 302, ne sont pas pris en charge.
Pourquoi mon serveur reçoit-il plusieurs fois une requête de callback HTTP ?
Un callback HTTP est considéré comme réussi uniquement si le code d'état HTTP 200 est renvoyé. Si un code d'état différent de 200 est renvoyé ou si le callback expire, celui-ci échoue et ApsaraVideo VOD tente de renvoyer la requête jusqu'à trois fois.
Qu'est-ce que l'authentification HTTP ?
Lors de l'authentification HTTP, ApsaraVideo VOD vous permet d'ajouter un en-tête de signature spécifique aux requêtes de callback HTTP. Le serveur récepteur vérifie la signature afin d'empêcher les requêtes non autorisées provenant d'expéditeurs autres qu'ApsaraVideo VOD. Vous pouvez décider d'activer ou non l'authentification HTTP.
FAQ sur les callbacks SMQ
Pourquoi n'y a-t-il aucun message dans la file d'attente de callback Simple Message Queue (anciennement MNS) ?
La livraison des messages échoue si le service vidéo à la demande ne dispose pas des autorisations nécessaires pour accéder à Simple Message Queue (anciennement MNS), si l'endpoint n'est pas un endpoint de réseau public ou si le nom de la file d'attente est incorrect.
Si la durée de vie (TTL) d'un message de callback est trop courte, le message peut être libéré avant d'avoir pu être consommé. Nous vous recommandons de définir la TTL sur 3 600 secondes.
Si la longueur maximale des messages est définie en dessous de la valeur par défaut recommandée de 65 536 octets, la livraison des messages peut échouer.
Pourquoi je reçois un message plusieurs fois ?
Un message devient invisible pendant une courte période après sa consommation. Vous devez supprimer le message manuellement ou en appelant une opération d'API. Sinon, le message pourra être consommé à nouveau après cette période.
La méthode de callback SMQ prend-elle en charge l'authentification ?
Le service vidéo à la demande offre un niveau de sécurité élevé, car il nécessite une autorisation pour écrire dans les files d'attente des utilisateurs et ne dispose d'aucune autre permission d'opération. Par conséquent, l'authentification n'est généralement pas nécessaire.
Dans quelles régions la méthode de callback SMQ est-elle disponible ?
Si vos vidéos sont stockées dans les régions de Chine continentale, telles que China (Beijing) et China (Shanghai), un léger retard peut survenir lors de la livraison des messages vers des files d'attente situées en dehors de la région China (Shanghai). Nous vous recommandons d'utiliser une file d'attente dans la région China (Shanghai).
Si vos vidéos sont stockées dans la région Singapore, utilisez une file d'attente de messages dans la région Singapore.
Si vos vidéos sont stockées dans la région Frankfurt, utilisez une file d'attente de messages dans la région Frankfurt.
Puis-je utiliser une file d'attente SMQ pour des callbacks inter-régions ?
Oui. Par exemple, vous pouvez stocker et traiter des vidéos dans la région China (Shanghai) ou China (Beijing) et pousser les messages de callback vers une file d'attente Simple Message Queue (anciennement MNS) dans la région China (Shenzhen). Toutefois, la livraison des messages peut être retardée en raison de la latence du réseau. Par conséquent, nous vous recommandons de pousser les messages vers une file d'attente SMQ dans la région où vos vidéos sont stockées.