# 事件通知 视频点播支持HTTP回调和轻量消息队列(原 MNS)回调两种方式,本文为您介绍事件通知的事件类型、回调方式、回调配置、回调协议、回调内容公共参数等基本信息,以及回调判断与重试和常见问题。 ## 事件通知简介 点播服务支持多个存储区域 ,每个区域可以单独配置事件通知的回调方式和回调地址。用户可以上传视频到不同区域的存储,视频处理完成后,点播服务会根据存储区域配置的回调方式和回调地址及时通知用户。 > **说明** > 回调body中,返回的URL均为HTTP地址,暂不支持HTTPS地址的返回,如有需要,可以参考[事件通知常见问题](./事件通知常见问题.md)中的方案解决。 > > ## 回调方式 > > 点播服务目前支持 **HTTP回调(兼容HTTPS)** 、 **轻量消息队列(原MNS)回调** 两种方式获取事件通知: > > * HTTP回调(兼容HTTPS): > > HTTP回调是您被动接收视频点播服务事件通知的模式。您需要部署一个HTTP服务来接收回调消息,并在视频点播服务中配置回调URL;当事件产生时,点播服务端会向该URL发起HTTP POST请求,事件通知内容将通过HTTP Body送达。 > > * 轻量消息队列(原 MNS)回调: > > 轻量消息队列(原 MNS)回调是您主动向视频点播服务拉取接收事件通知的模式。您需要授权[点播服务访问轻量消息队列(原MNS)](https://ram.console.aliyun.com/#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunVODDefaultRole%22%2C%20%22TemplateId%22%3A%20%22DefaultRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//vod.console.aliyun.com/%22%2C%20%22Service%22%3A%20%22VOD%22%7D)并在轻量消息队列(原 MNS)中创建队列或使用已有队列,然后在视频点播服务中完成事件通知的配置;当事件产生时,点播服务会将回调内容写入该队列,您需要到轻量消息队列(原 MNS)中接收查看消息。在轻量消息队列(原 MNS)控制台中创建队列及接收消息的详细操作,请参见队列操作。 > > ## HTTP回调与轻量消息队列(原MNS)回调对比 > > | **对比项** | **HTTP回调** | **轻量消息队列(原MNS)回调(推荐)** | > |---|---|---| > | 可靠性 | 若您的HTTP消息接收服务存在异常(崩溃或重启),则消息可能会丢失。 | **更为可靠** ,只要配置正常,消息回调几乎都能成功。 | > | 安全性 | HTTP方式都可回调该地址,但可配合回调鉴权过滤非法请求,以增强安全性。 如何配置,请参见[HTTP回调鉴权](./HTTP回调.md)。 | 由于仅授权方能读写消息队列, **安全性更高。** | > | 便捷性 | **接入更为方便** ,只需简单部署消息接收服务。 | 需要额外开通和配置轻量消息队列(原 MNS),并且需要开发和部署消费消息的程序。 | > > ## 回调协议 > > * HTTP回调 > > * 请求:HTTP POST请求,包体内容为JSON,每一种回调的具体包体内容参见[事件类型](#ff27dca04d5pp)中的参考文档。 > > * 应答:点播服务会忽略应答包内容。 > > * 轻量消息队列(原 MNS)回调 > > 接收消息内容为JSON,每一种回调的具体包体内容参见[事件类型](#ff27dca04d5pp)中的参考文档。 > > ## 回调内容公共参数 > > | **参数名称** | **类型** | **描述** | > |---|---|---| > | EventTime | String | 事件产生时间, 为UTC时间: **yyyy-MM-ddTHH:mm:ssZ** 。 | > | EventType | String | 事件类型。 | > | VideoId | String | 视频ID。 | > | Status | String | 处理状态,取值: * **success** (成功)。 * **fail** (失败)。 | > | Extend | String | 在上传或提交作业接口中,指定UserData;并且若里面包含Extend字段,会在事件完成回调时透传返回用户自定义数据,最大长度512字节。 | > > ## 回调判断与重试 > > * HTTP回调 > > * 点播服务发起HTTP回调时,若回调接收服务响应的HTTP状态码为200即视为回调成功;响应状态码不为200,或是响应时间超过 **5秒** 出现超时,都视为回调失败。点播服务会忽略响应的包体内容,仅以HTTP状态码为准。 > > * 若由于配置异常(比如您的回调地址错误、消息接收服务异常等),导致消息回调失败,点播服务会继续重试回调2次,即总共最多回调 **3次** ;超过后会丢弃。 > > * 轻量消息队列(原 MNS)回调 > > * 点播服务发起轻量消息队列(原 MNS)回调时,只要消息写入轻量消息队列(原 MNS)成功即视为回调成功,否则为失败。 > > * 若由于配置异常(比如未授权点播服务访问、队列地址不是公网或队列名称不对等),导致消息写入轻量消息队列(原 MNS)失败,点播服务会继续重试2次,即总共最多回调 **3次** ;超过后会丢弃。 > > **说明** > > 点播服务在回调失败后会间隔 **1秒** 再次发起重试,若总共3次回调仍失败则会丢弃该消息;如要确保可靠通知,建议使用轻量消息队列(原 MNS)回调,其可靠性更高,只要配置正常,几乎能确保消息回调成功。 > > ## 回调配置 > > HTTP和MNS回调的配置流程有所差异,均支持通过视频点播控制台和API/SDK的方式配置。详细的配置流程及使用限制请参见[如何使用](./HTTP回调.md)和[如何使用](./轻量消息队列(原MNS)回调.md)。 > > ## 事件类型 > > 点播目前支持的事件通知类型如下: > > | **事件类型** | **参考文档** | > |---|---| > | FileUploadComplete | [视频上传完成](./视频上传完成.md) | > | ImageUploadComplete | [图片上传完成](../媒体上传/图片上传完成.md) | > | StreamTranscodeComplete | [单个清晰度转码完成](./单个清晰度转码完成.md) | > | TranscodeComplete | [全部清晰度转码完成](./全部清晰度转码完成.md) | > | SnapshotComplete | [视频截图完成](./视频截图完成.md) | > | DynamicImageComplete | [视频动图完成](../媒体处理/视频动图完成.md) | > | AddLiveRecordVideoComplete | [直播录制完成](../直播转点播/直播录制完成.md) | > | LiveRecordVideoComposeStart | [录制视频合成开始](../云剪辑/录制视频合成开始.md) | > | UploadByURLComplete | [URL上传视频完成](../媒体上传/URL上传视频完成.md) | > | UploadByURLComplete | [URL上传转码流完成](../媒体处理/URL上传转码流完成.md) | > | CreateAuditComplete | [人工审核完成](../媒体审核/人工审核完成.md) | > | AIMediaAuditComplete **说明** 对应视频点播控制台上的 **视频AI处理完成** 事件。 | [智能审核完成](./智能审核完成.md) | > | VideoAnalysisComplete | [音视频分析完成](../API参考/音视频分析完成.md) | > | UpdateMediaStorageClassComplete | [媒资存储类型变更完成](../媒资管理/媒资存储类型变更完成.md) | > | RestoreMediaComplete | [媒资解冻完成](../媒资管理/媒资解冻完成.md) | > | AIMediaDNAComplete **说明** 对应视频点播控制台上的 **视频AI处理完成** 事件。 | [视频DNA完成](../视频AI/视频DNA完成.md) | > | AIVideoTagComplete **说明** 对应视频点播控制台上的 **视频AI处理完成** 事件。 | [智能标签作业完成](../视频AI/智能标签作业完成.md) | > | AttachedMediaUploadComplete | [辅助媒资上传完成](../媒体上传/辅助媒资上传完成.md) | > | ProduceMediaComplete | [剪辑合成完成](../云剪辑/剪辑合成完成.md) | > | DeleteMediaComplete | [媒体删除完成](../API参考/媒体删除完成.md) | > | MediaBaseChangeComplete | [媒资基础信息变更完成](../媒资管理/媒资基础信息变更完成.md) | > | SubmitMediaRefreshComplete | [音视频刷新或预热完成](../CDN分发加速/音视频刷新或预热完成.md) | > | WorkflowTaskComplete | [工作流任务完成](../媒体处理/工作流任务完成.md) | > > ## 常见问题 > > 使用过程中遇到问题时(例如:如何从回调中获取到HTTPS地址?如何实现多回调地址?),请参见[事件通知常见问题](./事件通知常见问题.md)。