在使用智能媒体服务媒资上传、媒体处理、云剪辑等服务时,您可通过设置回调事件及时获取任务处理进展和状态,以便进行其他业务操作。通过阅读本文,您可以了解回调方式和回调事件的基本信息。
回调方式说明
简介
智能媒体服务支持HTTP请求和MNS队列两种回调方式获取事件通知,如下所示:
HTTP请求:被动接收IMS事件通知。您需要部署一个HTTP服务接收回调消息,并在控制台上或调用OpenAPI时配置回调URL,当事件产生时,IMS服务端会向回调URL发起HTTP POST请求,消息内容将通过HTTP Body送达。
MNS队列:主动向IMS拉取事件通知。您需要授权IMS访问轻量消息队列(原 MNS),并在MNS中创建队列或使用已有队列,然后在控制台上或调用OpenAPI时配置MNS队列名称,当事件产生时,IMS服务端会将回调内容写入该队列,您需要到MNS中查看接收消息。
优缺点
对比项 | HTTP请求 | MNS队列 |
可靠性 | 如果HTTP消息接收服务异常,例如崩溃或重启等,消息可能会丢失。 | 只要配置正常,消息回调基本都能成功,可靠性更高。 |
安全性 | 任何HTTP方式都可回调该地址,但可配合回调鉴权过滤非法请求,以增强安全性,详情请参见回调鉴权。 | 仅授权方能读写消息队列,安全性更高。 |
便捷性 | 接入更为方便,只需简单部署消息接收服务。 | 需要额外开通和配置MNS,并且需要开发和部署消费消息的程序。 |
回调协议
回调方式 | 描述 |
HTTP请求 |
|
MNS队列 | 队列接收消息内容为JSON字符串。关于消息体示例和参数字段详细说明,请参见事件列表。 |
回调判断与重试
回调方式 | 回调是否成功 | 回调重试说明 |
HTTP请求 | 发起HTTP请求时,如果接收服务响应的HTTP状态码为200,则视为回调成功;如果状态码为其他或响应时间超过3秒出现超时,则视为回调失败。IMS会忽略响应的包体内容,仅以HTTP状态码判断回调是否成功。 | 如果配置异常,例如回调地址错误、消息接收服务异常等,会导致消息回调失败,IMS会间隔1秒继续重新回调2次,如果总回调次数超过3次后仍然失败,会丢弃该消息。 |
MNS队列 | 发起MNS队列回调时,只要消息写入MNS队列成功,则视为回调成功,否则视为失败。 | 如果配置异常,例如未授权IMS访问轻量消息队列(原 MNS)、队列地址不是公网或队列名称错误等,会导致消息写入MNS失败,IMS会间隔1秒继续重新回调2次,如果总回调次数超过3次后仍然失败,会丢弃该消息。 |
建议您使用MNS队列回调,只要配置正常,消息回调基本都能成功,可靠性更高。
回调事件类型
智能媒体服务提供媒资上传、媒体处理、云剪辑等相关的回调事件,您可通过设置指定的回调事件及时获取任务处理进展和状态。详情请参见事件列表。