管道是一种可以实现多种处理任务顺序执行的机制。您可以通过管道在一次访问中按照顺序完成对文件的不同处理。
访问规则
URL通过处理参数action1
、action2
实现数据处理。如果有多任务,执行顺序按管道指定顺序执行,管道的分隔符是竖线(|)。
以下规则表示先对文件做action1
处理,然后再做action2
处理,最后输出结果。
同步处理管道访问规则:
<文件URL>?x-oss-process=<action1>|<action2>
。异步处理仅支持POST访问,管道访问规则:
POST <文件URL>?x-oss-async-process HTTP/1.1 Host: <HOST HEADER> Date: <DATE HEADER> Authorization: <AUTH HEADER> x-oss-async-process=<action1>|<action2>
使用限制
同步处理:同步处理能力中的图片处理支持使用管道,文档处理中的文档在线预览和文档在线编辑不支持使用管道。
异步处理:异步处理能力仅支持在其尾部串联
sys/saveas
以及/notify
。示例如下: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**************** // 将文件example.docx转换为PNG格式的图片文件。 x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw/notify,topic_ZG9jX2ltYWdlcw
使用示例
图片处理
示例一
先对图片做按高度300缩略,然后再加上文字水印,水印内容是:“Hello 图片服务!” 。
示例二
先对图片做文字水印,水印内容是:“Hello, 图片服务!”,水印位置在右下角,然后再对图片做图片水印,水印文件是panda.png,水印位置在中间。
文档处理
示例
处理方式
将格式为DOCX的文件
example.docx
转换为PNG格式的图片文件。将转换完成的图片文件存储到
oss://test-bucket/doc_images/
路径中,并将通知发送到doc_images
的MNS主题。
处理URL
https://doc-demo.oss-cn-hangzhou.aliyuncs.com/example.docx?x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw/notify,topic_ZG9jX2ltYWdlcw
action1:
doc/convert,target_png,source_docx
,表示将格式为DOCX的文件转换为PNG格式的图片文件。action2:
sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw/notify,topic_ZG9jX2ltYWdlcw
,表示将转换完成的图片文件存储到oss://test-bucket/doc_images/
路径中,并在转换完成后将通知发送到doc_images
的MNS主题。