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

事件通知公共常见问题

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

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

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

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

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

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

如何实现多回调地址?

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

    在调用接口上传媒资文件或发起媒体处理任务时(例如CreateUploadVideo - 获取音视频上传地址和凭证SubmitTranscodeJobs - 提交媒体转码作业等接口),通过指定请求参数UserData中的MessageCallback字段,来设置单次请求的回调地址。

    说明
    • 本方案仅支持HTTP回调方式。
    • 本方案需要在已开启全局的事件通知并配置相应的回调事件类型后才能使用,否则本方案设置的回调不生效。
  • 方案二:区分应用设置独立回调地址

    使用多应用体系,可以为每个应用设置独立的消息回调方式和地址。详细内容请参见使用多应用体系

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回调队列中没有消息是什么原因?

  • 未授权点播服务访问、提交的工单中Endpoint不是公网或者队列名称不对会导致消息投递失败。
  • 消息存活时间设置过小(建议使用3600 秒),消息被消费前已经释放。
  • 消息最大长度设置过小(建议使用默认值65536 Byte),可能会导致消息投递失败。

MNS回调收到重复消息是什么原因?

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

MNS回调是否支持鉴权?

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

MNS回调支持哪些区域?

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

是否能跨区域配置MNS队列进行回调?

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