全部產品
Search
文件中心

Object Storage Service:變數

更新時間:Apr 26, 2025

在使用資料處理功能時,每個Object都會觸發一個任務,任務中需要指定處理後的檔案儲存路徑。為了避免檔案覆蓋,需要保證輸出路徑為動態路徑。您可以在輸出路徑中引用源檔案的資訊,如Bucket、檔案名稱、上傳時間等。例如:將視頻截幀任務的輸出路徑指定為oss://test-bucket/{dirname}/{barename}_output.{autoext},將目標檔案儲存到源檔案所在目錄下,檔案名稱為源檔案名稱_output,並自動添加尾碼。

使用情境

控制台使用情境

  • 任務:處理任務可在輸出路徑中引用源檔案資訊。例如:文檔轉jpg圖片任務,輸出路徑設定為oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext},處理時{autoext}將被替換為jpg,轉換產生的圖片儲存路徑為oss://test-bucket/output/源檔案目錄/源檔案名稱/圖片序號.jpg

  • 批處理:批處理建立成功後會對每個存量檔案產生任務。為避免資料覆蓋,建議在輸出路徑中設定變數。例如:視頻截幀批處理將視頻截幀為png格式,輸出路徑設定為oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext},處理時{autoext}將被替換為png,處理後產生的png圖片儲存路徑為oss://test-bucket/output/源檔案目錄/源檔案名稱/圖片序號.png

  • 觸發器:觸發器建立成功後會對每個新增檔案產生任務。為避免檔案覆蓋,建議在輸出路徑中設定變數。例如:文檔轉換觸發器將文檔轉換為jpg圖片格式,將輸出路徑設定為oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext},處理時{autoext}將被替換為jpg,處理後產生的jpg圖片檔案儲存路徑為oss://test-bucket/output/源檔案目錄/源檔案名稱/圖片序號.jpg

API使用情境

  • 另存新檔 (sys/saveas):另存新檔 (sys/saveas) 中的b(Bucket)和o(Object)參數支援變數。例如:您在對example.docx文檔進行文檔轉換處理時,需要將1~10頁分別轉換為png格式,可以將sys/saveas設定為b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw(e2J1Y2tldH0是{bucket}進行Base64編碼之後的值,ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw是doc_images/{index}.png編碼之後的值),則轉換後產生的圖片儲存到源檔案相同的Bucket下,路徑為doc_images/下標.png

  • 任務:任務的輸出路徑支援變數。例如:調用CreateOfficeConversionTask - 建立文檔轉換任務介面建立文檔轉換任務時,TargetURI參數必須填寫包含副檔名的完整輸出檔案路徑,TargetURI使用變數(例如:oss://test-bucket/output/{dirname}/{barename}/{index}.jpg)。

注意事項

  • 批處理和觸發器的輸出路徑以非/結尾時,檔案名稱需要至少包含一個變數,否則多個輸出檔案將會互相覆蓋。

  • 任務的輸出路徑不支援以/結尾的路徑,支援使用變數。

任務相關變數

同步處理和非同步處理請求的時間點也可以作為變數,例如您在2022-09-01T02:06:57.798Z時刻提交的處理請求,可以使用下表中的變數。

變數

說明

樣本值

t_year

處理請求提交時的年份,格式為yyyy。

2022

t_mon

處理請求提交時的月份,格式為mm。

09

t_day

處理請求提交時的日期,格式為dd。

01

t_hour

處理請求提交時的小時,格式為HH。

02

t_min

處理請求提交時的分鐘,格式為MM。

06

t_sec

處理請求提交時的秒鐘,格式為SS。

57

圖片處理相關變數

以源檔案oss://test-bucket/path1/path2/name.png為例,該檔案上傳時間為2022-04-22 14:38:25,可以使用下表中的變數。

變數

說明

樣本值

bucket

原始檔案儲存空間(Bucket)名稱。

test-bucket

key

原始檔案儲存在儲存空間中的資源名。

重要

使用該變數時請避免將輸出檔案和輸入檔案設定為相同檔案,否則會覆蓋源檔案或在批處理時迴圈觸發。

path1/path2/name.png

dirname

原始檔案路徑目錄。

重要

使用該變數時請避免將輸出檔案和輸入檔案設定為相同檔案,否則會覆蓋源檔案或在批處理時迴圈觸發。

path1/path2

barename

原始檔案名(不包含副檔名)。

重要

使用該變數時請避免將輸出檔案和輸入檔案設定為相同檔案,否則會覆蓋源檔案或在批處理時迴圈觸發。

name

basename

原始檔案名(包含副檔名)。

重要

使用該變數時請避免將輸出檔案和輸入檔案設定為相同檔案,否則會覆蓋源檔案或在批處理時迴圈觸發。

name.png

ext

原始檔案資源的副檔名,通過自動檢測的mimeType或者key的尾碼來擷取。

png

year

原始檔案上傳時的年份,格式為yyyy。

2022

mon

原始檔案上傳時的月份,格式為mm。

04

day

原始檔案上傳時的日期,格式為dd。

22

hour

原始檔案上傳時的小時,格式為HH。

14

min

原始檔案上傳時的分鐘,格式為MM。

38

sec

原始檔案上傳時的秒鐘,格式為SS。

25

文檔轉換相關變數

文檔轉換處理可以使用頁碼、Sheet名稱等作為變數,例如將含有一個Sheet,Sheet名稱為sheet1的Excel文檔轉換為JPG圖片,可以使用下表中的變數。

變數

說明

樣本值

autoext

文檔轉換中輸出檔案的尾碼。

png

index

輸出下標,從1開始遞增,Word、PDF、PPT為頁碼,Excel中為sheetindex_sheetsubindex。

Word、PDF、PPT為1

Excel為1_1

sheetname

Excel的Sheet名稱。

sheet1

sheetindex

Excel的Sheet下標,從1開始。

1

sheetsubindex

Excel的Sheet其中部分下標,從1開始。

1

ApsaraVideo for Media Processing相關變數

ApsaraVideo for Media Processing可以使用容器副檔名、解析度等作為變數。例如,對video.mp4進行分區轉碼,媒體容器為ts,目標解析度為1920x1080,可以使用下表中的變數。

變數

說明

樣本值

autoext

ApsaraVideo for Media Processing中輸出檔案的尾碼。

ts

index

輸出下標,從1開始遞增,用於分區轉碼、截圖等多輸出情境。

1

streamindex

音視頻流ID,音視頻流分別從0遞增。

0

resolution

設定的轉碼解析度,僅視頻轉碼可用。

1920x1080

使用REST API

如果您的程式自訂要求較高,您可以直接發起REST API請求。直接發起REST API請求需要手動編寫代碼計算簽名。

您可以在PostObject介面中以添加處理參數或樣式參數的方式來處理檔案。更多資訊,請參見另存新檔

樣本一:文檔格式轉換

如下REST API樣本在PostObject介面中以添加處理參數的方式對example.docx進行文檔格式轉換處理,在另存新檔 (sys/saveas) 中的b(Bucket)和o(Object)參數使用變數。

  • pages_MS0xMA:轉換文檔1-10頁(MS0xMA是1-10進行Base64編碼之後的值)。

  • target_png:將文檔轉換成png圖片格式。

  • source_docx:指定源檔案類型為docx。

  • sys/saveas:另存新檔。

    • b_e2J1Y2tldH0:轉碼完成後將得到的圖片使用{bucket}變數儲存到源Bucket(e2J1Y2tldH0是{bucket}進行Base64編碼後的值)。

    • o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw:object使用{index}變數以example.docx頁碼作為圖片檔案名稱儲存到doc_images目錄下(ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw是doc_images/{index}.png進行Base64編碼之後的值)。

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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
 // 將檔案example.docx的1-10頁轉換為PNG格式的圖片檔案,轉換後的儲存路徑為:oss://源Bucket/doc_images/頁碼.png。
x-oss-async-process=doc/convert,pages_MS0xMA,target_png,source_docx|sys/saveas,b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw

樣本二:視頻轉碼

如下以視頻轉碼處理情境為,對example.avi檔案進行視頻轉碼處理,配置了多個處理參數。

  • f_mp4:轉碼輸出媒體檔案容器為MP4。

  • vcodec_h265:視頻流格式為H.265。

  • s_1920x1080:解析度為1920x1080。

  • vb_2000000:視頻碼率為2 Mbps。

  • fps_30:視訊框架率為30 fps。

  • acodec_aac:音頻編碼格式為AAC。

  • ab_100000:音頻碼率為100 Kbps。

  • sn_1:禁用字幕流。

  • sys/saveas 另存新檔。

    • b_e2J1Y2tldH0:轉碼完成後將得到的檔案使用{bucket}變數儲存到源Bucket(e2J1Y2tldH0是{bucket}進行Base64編碼後的值)。

    • o_b3V0cHV0LnthdXRvZXh0fQ:object使用{autoext}變數自動添加尾碼,儲存後的object為output.mp4(b3V0cHV0LnthdXRvZXh0fQ是output.{autoext}進行Base64編碼後的值)。

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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,b_e2J1Y2tldH0,o_b3V0cHV0LnthdXRvZXh0fQ