ApsaraVideo for Media Processing中工作流程的觸發方式根據檔案路徑以及自動觸發的設定情況,一共可分為3種觸發方式。本文介紹不同工作流程觸發方式的適用情境和要求。
觸發方式對比
觸發方式 | 適用情境 |
自動觸發 | 檔案上傳到指定路徑後立即按固定流程處理 |
手動觸發(校正輸入路徑) |
|
手動觸發(任意路徑) | 檔案路徑很多無法配置成統一路徑,但工作流程處理流程相同,需要手動提交 |
方式一:自動觸發
建立工作流程,並設定為自動觸發。預設自動觸發。建立工作流程的詳細操作,請參見建立工作流程。
新增檔案,要求如下:
檔案不是ApsaraVideo for Media Processing、智能媒體服務產生的檔案。詳見下文。
檔案路徑需要符合路徑匹配規則。詳見下文。
檔案類型符合副檔名匹配規則。詳見下文。
使用以下OSS方法新增檔案,觸發執行。
OSS方法
說明
PutObject
調用PutObject介面上傳檔案(Object)。
PostObject
調用PostObject用於通過HTML表單上傳的方式將檔案(Object)上傳到指定儲存空間(Bucket)。
CopyObject
調用CopyObject介面拷貝同一地區下相同或不同儲存空間(Bucket)之間的檔案(Object)。
CompleteMultipartUpload
在將所有資料Part都上傳完成後,調用CompleteMultipartUpload介面來完成整個檔案的分區上傳。
PutSymlink
調用PutSymlink介面用於為OSS的目標檔案(TargetObject)建立軟連結(Symlink),您可以通過該軟連結訪問TargetObject。
方式二:手動觸發(校正輸入路徑)
建立工作流程,在新增檔案之前需要調用更新媒體工作流程的觸發模式狀態介面更改為不自動觸發。建立工作流程的詳細操作,請參見建立工作流程。
新增檔案,要求如下:
檔案路徑需要符合路徑匹配規則。詳見後文。
檔案類型符合副檔名匹配規則。詳見後文。
不限定新增檔案的OSS方式。
新增檔案後,按需調用AddMedia介面指定檔案和工作流程ID,觸發執行。
方式三:手動觸發(任意路徑)
建立工作流程,在新增檔案之前需要調用更新媒體工作流程的觸發模式狀態介面更改為不自動觸發。建立工作流程的詳細操作,請參見建立工作流程。
新增檔案,要求如下:
檔案路徑需要與ApsaraVideo for Media Processing在同一地區。
不限定新增檔案的OSS方式。
新增檔案後,按需調用AddMedia介面指定檔案和工作流程ID、並將是否檢查指定的工作流程輸入路徑InputUnbind設定為不檢查false(用於忽略路徑匹配規則、副檔名匹配規則),觸發執行。
檔案匹配規則
非MPS、IMS產生的檔案
為了避免因輸入、輸出路徑設定不當,引起迴圈觸發工作流程執行,若輸入檔案的路徑,是ApsaraVideo for Media Processing、智能媒體服務經過轉碼、剪輯直接輸出的檔案路徑,則無法觸發工作流程。樣本如下:
假設工作流程A的輸出路徑和工作流程B的輸入路徑均為http://bucket.oss-cn-hangzhou.aliyuncs.com/A/,則:
如果http://bucket.oss-cn-hangzhou.aliyuncs.com/A/example.flv是工作流程A的輸出檔案,則無法觸發工作流程B執行。
如果http://bucket.oss-cn-hangzhou.aliyuncs.com/A/example.flv是直接上傳至該路徑的檔案,則可以觸發工作流程B執行。
路徑匹配規則
判斷輸入檔案的路徑是否在工作流程輸入節點設定的輸入路徑之下,是則認為匹配,否則認為不匹配無法觸發工作流程。樣本如下:
請勿將一個工作流程的輸入路徑配置為另外一個工作流程輸入路徑的首碼,否則一個增量檔案會觸發兩次工作流程執行執行個體。例如:兩個工作流程的輸入路徑分別配置為test和test1,則當輸入檔案上傳到test1檔案夾下同樣滿足test首碼,因此會觸發兩次工作流程執行執行個體。
假設工作流程輸入節點中設定的輸入路徑為http://bucket.oss-cn-hangzhou.aliyuncs.com/A/
(有斜杠(/)),則不同輸入檔案的路徑的匹配結果如下表:
輸入檔案的路徑舉例 | 判斷是否匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A1/example.flv | 不匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A_video01.mp4 | 不匹配 |
http://bucket.oss-cn-beijing.aliyuncs.com/A/example.flv | 不匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/example.flv | 不匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/D/example.flv | 不匹配 |
假設工作流程輸入節點中設定的輸入路徑為http://bucket.oss-cn-hangzhou.aliyuncs.com/A
(沒有斜杠(/)),則不同輸入檔案的路徑的匹配結果如下表:
輸入檔案的路徑舉例 | 判斷是否匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A1/example.flv | 匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/A_video01.mp4 | 匹配 |
http://bucket.oss-cn-beijing.aliyuncs.com/A/example.flv | 不匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/example.flv | 不匹配 |
http://bucket.oss-cn-hangzhou.aliyuncs.com/D/example.flv | 不匹配 |
副檔名匹配規則
判斷輸入檔案的副檔名是否在下表包含的範圍內,是則認為匹配,否則認為不匹配無法觸發工作流程。樣本如下:
假設輸入檔案為http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test1.flv
,則副檔名為.flv,判斷為匹配規則。
副檔名匹配以最後的副檔名為準。例如:輸入檔案為http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test1.flv.mp4
,則副檔名為.mp4,判斷為匹配規則。
類型 | 副檔名 |
視頻 | .3gp、.asf、.avi、.dat、.dv、.flv、.f4v、.gif、.m2t、.m3u8、.m4v、.mj2、.mjpeg、.mkv、.mov、.mp4、.mpe、.mpg、.mpeg、.mts、ogg、.qt、.rm、.rmvb、.swf、.vob、.wmv、.webm、.mxf、.quicktime |
音頻 | .s48、.aac、.ac3、.acm、.amr、.ape、.caf、.flac、.m4a、.mp3、.ra、.wav、.wma、.aiff |