管道是一種可以實現多種處理任務順序執行的機制。您可以通過管道在一次訪問中按照順序完成對文件的不同處理。
訪問規則
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主題。