上傳對象
更新時間 2024-08-20 11:26:08
最近更新時間: 2024-08-20 11:26:08
分享文章
本章節介紹媒體存儲上傳對象操作。
使用場景
用戶可以上傳對象至已有的存儲桶中。上傳方式區分普通上傳、分片上傳與追加寫。
上傳方式
| 上傳方式 | 說明 |
|---|---|
| 普通上傳 | 當上傳文件小于5GB時使用,支持putObject和postObject,兩種上傳方式的區別請參見PUT上傳和POST上傳有什么區別。 |
| 分片上傳 | 當上傳文件大于5GB且小于50000GB時使用。 |
| 追加寫 | 追加寫可以對桶中的一個對象進行追加寫操作,如果該對象已經存在,執行該操作則向文件末尾追加內容,否則將創建對象。 |
約束與限制
- 媒體存儲管理控制臺支持批量上傳文件,單次最多支持100個文件上傳,單個文件大小最大支持5GB。
- 通過SDK或API的PUT上傳或者POST上傳,可以上傳小于5GB的文件,推薦上傳小于2GB的文件。
- 通過SDK或API的分片上傳,可以上傳小于50000GB(約48.8TB)的文件。
- XstorBrowser支持直接上傳文件夾。
- 在未開啟多版本控制功能的情況下,如果新上傳的文件和桶內文件重名,則新上傳的文件會自動覆蓋舊文件。
- 在未開啟多版本控制功能的情況下,對象刪除后不可恢復。
對象命名規范
- 使用UTF-8編碼。
- 命名長度范圍為1~1023字節。
- 推薦可用于文件名字符集為[0-9a-zA-Z]、感嘆號"!"、左括號"("、右括號")"、連字符"-"、下劃線"_"、星號"*"、單引號"'"、句號"."。
- 如果上傳的對象名帶有中文,在訪問或請求這個對象時中文部分將會按照URL Encode規則把中文轉換為百分號編碼。
普通上傳
媒體存儲支持普通上傳的方式。可以上傳小于5GB的文件,推薦上傳小于2GB的文件。
使用方式
| 操作途徑 | 使用方式 |
|---|---|
| SDK | 媒體存儲支持多種語言SDK,請從SDK概覽頁面選擇進入對應的開發指南查閱。 |
| 原生接口 | 可參考:上傳對象。 |
| OpenAPI | 可參考:上傳對象,目前OpenAPI僅支持西藏資源池調用,如其他區域需通過API訪問調用,請聯系媒體存儲技術團隊。 |
分片上傳
通過分片上傳,用戶可以最大程度提高上傳效率同時避免任務失敗。分片上傳允許將單個對象按照一定的大小分割成多個數據分片,作為一組分片分別上傳。
用戶可以獨立上傳或者按任意順序上傳對象的分片。如果其中某個分片傳輸失敗,可以重新傳輸該分片且不會影響其他分片。
當對象的所有分片都上傳后,媒體存儲會將這些分片合并起來,然后創建該對象。
適用場景
- 大文件加速上傳,對于大小超過5GB的對象推薦使用分片上傳以加快上傳速度
- 網絡不穩定或較差時,推薦使用分片上傳,當出現上傳失敗的時候,用戶僅需重傳失敗的分片。
分片上傳流程
- 初始化分片上傳任務:開始分片上傳時,媒體存儲將首先初始化分片上傳任務并返回分片上傳的唯一標識符uploadId。無論您何時上傳分片、合并分片或取消分片上傳任務,都必須包括此上傳uploadId。
- 上傳每個分片:上傳分片時,每一個分片的順序是通過上傳過程中指定的partNumber來確定,所以除了指定uploadId,還必須指定分片編號partNumber,partNumber的數量在初始化時自動決定。用戶可以并發上傳這些碎片,可結合本地網絡狀況和設備能力綜合考慮并發個數。
- 合并分片:合并分片時,媒體存儲通過按升序的分片編號規范化分片來創建對象。成功完成請求后,分片將不再存在。用戶可以選擇取消分片上傳任務,之后無法再次使用該上傳ID上傳任何分片,同時已上傳的部分將形成文件碎片并占用存儲空間。如果任何分片上傳已在進行中,即使用戶已執行中止操作,它們仍可以上傳成功或失敗。
注意事項
- 分片上傳過程被中斷后,如果不再需要這些分片,請通過控制臺桶詳情中的未完成上傳頁清空碎片按鈕,手動刪除無用的分片,以免產生額外存儲費用。可參考:碎片管理。
- 暫停和恢復對象上傳:用戶可以在任務過期時間內隨時上傳對象分片,控制臺默認過期時間為1天。
- 合并分片階段,若未對所有分片進行合并,那么未被合并的分片將被自動刪除且無法恢復。因此在合并分片之前請仔細核對所有分片,確保沒有遺漏的分片。
- 在未開通版本控制的存儲桶中,上傳同名對象會覆蓋媒體存儲中已有對象。
約束與限制
| 項目 | 限制 |
|---|---|
| 對象大小 | 最大支持50000GB(約48.8TB) |
| 每次上傳分片的數量 | 最多支持10000個 |
| 分片編號 | 1到10000(含) |
| 分片大小 | 最大5GB,最后一個分片大小是0到5GB |
| 列舉已上傳的分片請求,返回的分片數量 | 最多支持1000個 |
| 列舉已初始化分片任務請求,返回的任務數量 | 最多支持1000個 |
使用方式
| 支持的使用方式 | 參考文檔 |
|---|---|
| 控制臺 | 通過控制臺進行上傳操作,控制臺默認會對超過5MB的對象進行分片上傳操作。操作方式可參考:上傳對象。 |
| SDK | 媒體存儲支持多種語言SDK,請從SDK概覽頁面選擇進入對應的開發指南查閱。 |
| 原生接口 | 可參考:分片上傳。 |
| OpenAPI | 可參考:分片上傳。目前OpenAPI僅支持西藏資源池調用,如其他區域需通過API訪問調用,請聯系媒體存儲技術團隊。 |
| XstorBrowser | 使用 XstorBrowser 會將該對象自動切分為多個小對象進行上傳。 |
追加寫
追加寫可以對桶中的一個對象進行追加寫操作,如果該對象已經存在,執行該操作則向文件末尾追加內容,否則將創建對象。
使用方式
| 操作途徑 | 使用方式 |
|---|---|
| SDK | 媒體存儲支持多種語言SDK,請從SDK概覽頁面選擇進入對應的開發指南查閱。 |
| 原生接口 | 可參考:追加寫上傳。 |
| OpenAPI | 可參考:追加寫上傳,目前OpenAPI僅支持西藏資源池調用,如其他區域需通過API訪問調用,請聯系媒體存儲技術團隊。 |
上傳對象失敗的原因和解決方法
當碰到上傳對象失敗時常見失敗原因如下,您可對照逐一進行排查:
- 通過API或SDK上傳對象時有5GB大小的限制,超過5GB的文件可以使用XstorBrowser或登錄媒體存儲控制臺上傳。也可以使用API或SDK的分片上傳接口上傳。
- 檢查容量是否已超出已購買的容量包額度或賬號是否已欠費。
- 按包計費:
- 登錄媒體存儲控制臺。
- 在控制臺左側點擊【訂購管理】查看資源包狀態。
- 點擊對象資源包【查看詳情】查看訂購的資源包額度。
- 按需計費:在控制臺頂部導航欄單擊【費用】進入費用中心。在【總覽頁】查看可用額度。
- 按包計費:
- 結合訪問權限來檢查該賬號是否具有該桶的上傳對象權限。
- 若以上并不能解決您的問題,請聯系客戶經理進一步解決。