文档

事件通知常见问题

更新时间:

本文为您介绍事件通知常见问题。

事件通知公共常见问题

如何从回调中获取HTTPS的URL用于播放?

点播的HTTP回调和MNS回调,都不支持返回HTTPS的URL。如需要从回调中直接获取到HTTPS的URL用于视频播放,可参考下述步骤实现:

  1. 为域名配置HTTPS安全证书。

    配置方法可参考HTTPS安全加速设置,如已配置则可以跳过此步骤。

  2. 在接收回调的代码中使用替换操作,以实现将HTTP的URL替换为HTTPS的URL。

    例如Java中,可使用replace进行替换。

如何实现多地址回调?

通过点播控制台或API/SDK方式(SetMessageCallback - 设置事件通知配置接口)配置回调时,是针对点播服务全局的配置,且只能回调到一个地址。如果您有多地址回调的使用场景,可参考下述方案实现:

HTTP回调的常见问题

没有收到HTTP回调该如何排查?

  • 首先需要登录视频点播控制台 ,在点播控制台左侧导航栏的配置管理,选择媒体处理配置 > 回调设置,确认是否开启回调功能,并且查看是否订阅了所需要的回调。

  • 执行下述示例,查看是否有正常返回,如果没有,则排查回调地址接收服务是否有问题。注意将http://example.aliyundoc.com/processMessage替换为您设置的HTTP回调地址。

    curl -l -i -H "Content-type: application/json" -X POST -d '{"VideoId":"videoId","EventType":"FileUploadComplete","Status":"success","Size":1439213}' http://example.aliyundoc.com/processMessage

回调超时时间是多少?重试几次?重试间隔多久?

HTTP回调超时时间默认为5秒,最多重试3次,每次间隔1秒。

超过重试次数后,消息会被丢弃吗?这样如何保证消息不丢失?

如果您的接收服务异常,如崩溃、重启、网络不可达等,超过重试次数消息都会被丢弃。如果要保证消息不丢失,推荐使用MNS回调。

HTTP回调支持302跳转吗?

HTTP回调只支持200响应,出于安全考虑,不支持302、301等。

收到多次重复回调是什么原因?

HTTP回调只有收到200响应码时才认为是成功,否则均认为失败,并重试回调,最多尝试三次。

HTTP鉴权有什么作用?

HTTP鉴权是在回调过程增加特殊HTTP头,供回调地址提供方进行校验(防止非阿里云点播服务调用该接口,造成安全问题)。具体是否校验可由用户自行判断。

轻量消息队列(原MNS)回调的常见问题

轻量消息队列(原MNS)回调队列中没有消息是什么原因?

  • 未授权点播服务访问轻量消息队列(原 MNS)、Endpoint不是公网或者队列名称不对会导致消息投递失败。

  • 消息存活时间设置过小(建议使用3600 秒),消息被消费前已经释放。

  • 消息最大长度设置过小(建议使用默认值65536 Byte),可能会导致消息投递失败。

轻量消息队列(原MNS)回调收到重复消息是什么原因?

消息被消费后,变为短暂不可见,需要手动或调用接口删除消息,否则一段时间后消息可以被再次消费。

轻量消息队列(原MNS)回调是否支持鉴权?

点播服务经过授权写入用户队列,非经授权无操作权限,安全性比较高,所以一般不需要鉴权。

轻量消息队列(原MNS)回调支持哪些区域?

  • 如果视频保存在中国内地区域(如 华北2华东2 ),投递消息到华东2(上海)区域之外的队列存在较短时间的延迟,建议使用 华东2(上海) 区域的队列。

  • 如果视频保存在 新加坡区域 存储,建议使用新加坡区域的消息队列。

  • 如果视频保存在 法兰克福区域 存储,建议使用法兰克福区域的消息队列。

是否能跨区域配置轻量消息队列(原MNS)进行回调?

是否能跨区域配置轻量消息队列(原 MNS)进行回调,比如视频存储和处理在华东2(上海)或华北2(北京),但MNS队列在华南1(深圳)。功能上是支持的,只是要考虑下网络延迟,可能消息写入会稍慢一些,建议尽量配置和存储地址在同一区域,如华东2。