ApsaraVideo VOD prend en charge les notifications d'événements via des callbacks HTTP (et HTTPS) et des callbacks Simple Message Queue (formerly MNS). Cette rubrique décrit les types d'événements, les méthodes de callback, les configurations, les protocoles, les paramètres courants, la validation, la politique de nouvelle tentative ainsi que les questions fréquentes (FAQ).
Présentation des notifications d'événements
ApsaraVideo VOD est disponible dans plusieurs régions de stockage. Vous pouvez configurer une méthode de callback et une adresse webhook uniques pour les notifications d'événements dans chaque région. Une fois la vidéo chargée et traitée, ApsaraVideo VOD envoie une notification selon la méthode de callback et l'adresse webhook configurées pour cette région.
Le corps du callback renvoie uniquement des URL HTTP. Les URL HTTPS ne sont pas prises en charge. Pour savoir comment obtenir des URL HTTPS, consultez la section FAQ sur les notifications d'événements.
Méthodes de callback
ApsaraVideo VOD propose deux méthodes pour recevoir des notifications d'événements : les callbacks HTTP (et HTTPS) et les callbacks Simple Message Queue (MNS).
-
Callbacks HTTP (et HTTPS) :
Les callbacks HTTP constituent une méthode passive de réception des notifications d'événements depuis ApsaraVideo VOD. Avec cette approche, déployez un service HTTP chargé de recevoir les messages de callback et configurez l'adresse webhook dans ApsaraVideo VOD. Lorsqu'un événement se produit, le service VOD envoie une requête HTTP POST à cette adresse, et la notification d'événement est transmise dans le corps HTTP.
-
Callbacks Simple Message Queue (formerly MNS) :
Les callbacks Simple Message Queue (formerly MNS) reposent sur une méthode active qui vous permet d'extraire (pull) les notifications d'événements depuis ApsaraVideo VOD. Après avoir accordé à ApsaraVideo VOD l'accès à MNS, créez ou utilisez une file d'attente existante dans Simple Message Queue (formerly MNS) et configurez les notifications d'événements dans ApsaraVideo VOD. Lorsqu'un événement se produit, ApsaraVideo VOD écrit le contenu du callback dans la file d'attente. Récupérez ensuite le message depuis la file d'attente Simple Message Queue (formerly MNS). Pour plus d'informations sur la création d'une file d'attente et la réception de messages dans la console Simple Message Queue (formerly MNS), consultez la section Opérations sur les files d'attente.
Comparaison des callbacks HTTP et MNS
|
Élément |
Callback HTTP |
Callback MNS (recommandé) |
|
Fiabilité |
Si votre service de réception des messages HTTP rencontre des anomalies, par exemple s'il plante ou redémarre, des messages peuvent être perdus. |
Plus fiable. Les callbacks aboutissent presque toujours avec une configuration appropriée. |
|
Sécurité |
Tout utilisateur peut envoyer une requête à l'adresse webhook. Toutefois, vous pouvez utiliser l'authentification des callbacks pour filtrer les requêtes illégales et renforcer la sécurité. Pour plus d'informations, consultez la section Authentification des callbacks HTTP. |
Plus sécurisé, car seules les parties autorisées peuvent lire et écrire dans la file d'attente de messages. |
|
Facilité d'utilisation |
Plus simple à intégrer. Il suffit de déployer un service de réception des messages. |
Nécessite l'activation et la configuration de Simple Message Queue (formerly MNS). Vous devez également développer et déployer un programme pour consommer les messages. |
Protocoles de callback
-
Callbacks HTTP
Requête : une requête HTTP POST avec un corps JSON. Pour plus d'informations sur le contenu spécifique du corps de chaque callback, consultez les documents référencés dans la section Types d'événements.
Réponse : ApsaraVideo VOD ignore le contenu du corps de la réponse.
-
Callbacks Simple Message Queue (formerly MNS)
Le contenu du message reçu est au format JSON. Pour plus d'informations sur le contenu spécifique du corps de chaque callback, consultez les documents référencés dans la section Types d'événements.
Paramètres courants des callbacks
Paramètre | Type | Description |
EventTime | String | L'heure à laquelle l'événement s'est produit, en UTC. L'heure respecte la norme ISO 8601 au format yyyy-MM-ddTHH:mm:ssZ. |
EventType | String | Le type d'événement. |
VideoId | String | L'ID de la vidéo. |
Status | String | Le statut du traitement. Valeurs possibles :
|
Extend | String | Lorsque vous appelez une API de chargement ou de soumission de tâche, vous pouvez spécifier le paramètre UserData. Si ce paramètre contient le champ Extend, les données utilisateur personnalisées sont transmises et renvoyées dans le callback de fin d'événement. La longueur maximale est de 512 octets. |
Validation des callbacks et nouvelles tentatives
-
Callbacks HTTP
Lorsqu'ApsaraVideo VOD envoie un callback HTTP, celui-ci est considéré comme réussi si le service récepteur répond avec un code d'état HTTP 200. Le callback est considéré comme échoué si le code d'état n'est pas 200 ou si la réponse expire après 5 secondes. ApsaraVideo VOD ignore le corps de la réponse et se base uniquement sur le code d'état HTTP.
Si un callback échoue en raison d'une erreur de configuration, telle qu'une adresse webhook incorrecte ou un service récepteur anormal, ApsaraVideo VOD effectue deux nouvelles tentatives supplémentaires, soit un maximum de trois tentatives. Après trois échecs consécutifs, le message est ignoré.
-
Callbacks Simple Message Queue (formerly MNS)
Lorsqu'ApsaraVideo VOD envoie un callback Simple Message Queue (formerly MNS), celui-ci est considéré comme réussi si le message est écrit dans la file d'attente Simple Message Queue (formerly MNS). Dans le cas contraire, le callback est considéré comme échoué.
Si l'écriture du message dans la file d'attente Simple Message Queue (formerly MNS) échoue en raison d'une erreur de configuration, ApsaraVideo VOD effectue deux nouvelles tentatives supplémentaires, soit un maximum de trois tentatives. Parmi les erreurs de configuration figurent l'absence d'octroi des autorisations d'accès à ApsaraVideo VOD, l'utilisation d'une adresse de file d'attente non accessible sur Internet ou l'utilisation d'un nom de file d'attente incorrect. Après trois échecs consécutifs, le message est ignoré.
Après un échec de callback, ApsaraVideo VOD effectue une nouvelle tentative après un intervalle de 1 seconde. Si le callback échoue toujours après trois tentatives au total, le message est ignoré. Pour garantir la fiabilité des notifications, utilisez les callbacks Simple Message Queue (formerly MNS). Ils offrent une fiabilité supérieure et aboutissent presque toujours s'ils sont correctement configurés.
Configuration des callbacks
Les procédures de configuration des callbacks HTTP et MNS diffèrent. Vous pouvez configurer les deux types dans la console ApsaraVideo VOD ou via l'API/SDK. Pour plus d'informations sur les procédures et les limites, consultez les sections Utilisation des callbacks HTTP et Utilisation des callbacks MNS.
Types d'événements
ApsaraVideo VOD prend en charge les types de notifications d'événements suivants :
|
Type d'événement |
Référence |
|
FileUploadComplete |
|
|
ImageUploadComplete |
|
|
StreamTranscodeComplete |
|
|
TranscodeComplete |
|
|
SnapshotComplete |
|
|
DynamicImageComplete |
|
|
AddLiveRecordVideoComplete |
|
|
LiveRecordVideoComposeStart |
|
|
UploadByURLComplete |
|
|
UploadByURLComplete |
|
|
CreateAuditComplete |
|
|
VideoAnalysisComplete |
|
|
UpdateMediaStorageClassComplete |
Modification de la classe de stockage des ressources multimédias terminée |
|
RestoreMediaComplete |
|
|
AttachedMediaUploadComplete |
|
|
ProduceMediaComplete |
|
|
DeleteMediaComplete |
|
|
MediaBaseChangeComplete |
Modification des informations de base de la ressource multimédia terminée |
|
SubmitMediaRefreshComplete |
|
|
WorkflowTaskComplete |
FAQ
Si vous rencontrez des problèmes, par exemple pour obtenir des URL HTTPS à partir des callbacks ou pour implémenter plusieurs adresses webhook, consultez la section FAQ sur les notifications d'événements.