消息通知

异步处理请求返回时仅返回任务ID,您需要在处理请求内添加消息通知参数,以在数据处理完成时获取到数据处理任务的结果。

注意事项

  • 仅异步处理支持消息通知。

  • 消息通知仅支持轻量消息队列SMQ(原MNS)主题。关于SMQ的更多信息,请参见SMQ快速入门

参数说明

使用notify参数时,您需要携带以下选项:

参数

是否必选

描述

topic

SMQ主题名称,主题名称需经过URL安全的Base64编码。具体操作,请参见水印编码

使用REST API

如果对程序自定义要求较高,您可以直接发起REST API请求。直接发起REST API请求需要手动编写代码计算签名。

您可以在调用PostObject接口处理服务时,通过Body的方式传递x-oss-async-process,然后在处理请求中增加notify参数接收处理结果消息通知,消息通知仅支持SMQ主题,关于SMQ的使用,请参见Python SDK版本说明

如下列举各种接收SMQ消息通知场景的处理示例。

使用处理参数处理文档转换并接收SMQ消息通知

转换信息

  • 转换前

    • 文件类型:DOCX

    • 文件名称:example.docx

  • 转换后

    • 文件类型:PNG

    • 文件存储路径:oss://test-bucket/doc_images/

  • 消息通知

    将转换结果通知发送到主题名称为test-topic的SMQ。

处理示例

POST /exmaple.docx?x-oss-async-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS qn6q**************:77Dv****************

// 将类型为DOCX的文件example.docx转换为PNG格式的图片文件,并将转换完成的图片存储到oss://test-bucket/doc_images/路径中,最后将转换结果通知发送到主题名称为test-topic的SMQ。
x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw/notify,topic_dGVzdC10b3BpYw

使用样式参数处理视频转码并转存至指定Bucket

转码信息

  • 转码前

    • 视频格式:AVI

    • 视频名称:example.avi

  • 转码后

    • 视频格式:MP4

    • 视频名称:outobjprefix.mp4

    • 视频存储路径:oss://outbucket/outobjprefix.mp4

  • 消息通知

    将转码结果通知发送到主题名称为test-topic的SMQ。

POST /exmaple.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS qn6q**************:77Dv****************
 
 // 使用名为examplestyle的样式将文件example.avi进行视频转码,转码完成后将得到的文件保存为oss://outbucket/outobjprefix.mp4,最后将转换结果通知发送到主题名称为test-topic的SMQ。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ/notify,topic_dGVzdC10b3BpYw

x-oss-process操作对应消息格式

功能模块

x-oss-process操作

消息格式

文档处理

doc/convert

CreateOfficeConversionTask接口消息示例

媒体处理

CreateMediaConvertTask接口消息示例

文件处理

pointcloud/compress

CreateCompressPointCloudTask接口消息示例