全部產品
Search
文件中心

Object Storage Service:對象/檔案(Object)概述

更新時間:Nov 04, 2025

在Object Storage Service中,對象(Object)就像檔案一樣,是儲存資料的基本單位。上傳的每個檔案(如文檔、圖片、視頻等)都會作為Object儲存在儲存空間(Bucket)中,方便後續管理。

Object組成

  • Key:Object的名稱,用於查詢Object,具有唯一性。

  • Data:Object的實際資料,由任意長度的位元組組成。

  • Object Meta:Object中繼資料,是一組索引值對,用於描述Object的屬性,如最後修改時間、大小等,也可以儲存自訂資訊。

  • Version ID:若要儲存一個檔案的多個版本,需啟用版本控制功能。每次上傳同名Object時,OSS會為新版本分配一個唯一的Version ID,用於訪問和管理特定版本的Object。

Object命名(Key)

每個Object都有唯一的名稱,稱為Key。例如,Key為"exampledir/example.jpg"表示exampledir目錄下的example.jpg檔案。

在SDK文檔中,Key也被稱為ObjectKey、ObjectName或對象名稱,這些術語含義相同。

命名規範

  • 使用UTF-8編碼。

  • 長度必須在1~1023位元組之間。

  • 不能以正斜線(/)或者反斜線(\)開頭。

  • 區分大小寫。

命名建議

  • 使用有意義的名稱,例如檔案名稱、日期、使用者ID等,方便尋找和理解。

  • 使用首碼組織資料,按日期、使用者ID、地區等作為首碼,建立階層。

  • 確保名稱唯一性,可以包含隨機數或UUID,避免命名衝突。

命名樣本

Object在Bucket中的位置

Key的表示方法

儲存空間examplebucket根目錄下存放了名為exampleobject.txt的Object

exampleobject.txt

儲存空間examplebucket根目錄下的destdir目錄中存放了exampleobject.jpg的Object

destdir/exampleobject.jpg

OSS目錄呈現

在Object Storage Service中,其實並不具備傳統檔案系統中的檔案和檔案夾概念,但為了符合使用者的使用習慣,OSS通過在Key中添加“/”來類比檔案夾,例如“exampledir/example.jpg”。此時,“exampledir”就被類比成了一個檔案夾,“example.jpg”則類比成“exampledir”檔案夾下的檔案名稱。在OSS控制台和ossbrowser等圖形化工具中可以看到這種檔案夾結構。但實際上,Object的Key仍然是“exampledir/example.jpg”。詳情請參見管理目錄

Object類型

Object包含以下四種類型。

重要

不支援在不同類型的 Object 之間相互轉換。例如,Normal類型的檔案無法轉換為Multipart或者Appendable類型。

類型

定義

說明

Normal

通過簡單上傳產生的Object類型。

  • 在版本控制未開啟或暫停時,若有多個使用者上傳同名Object,後上傳完成的Object會覆蓋前一個,並只保留最後上傳完成的Object。例如,使用者A在使用者B之後完成上傳,最終將保留使用者A上傳的Object。

  • 版本控制開啟時,每次上傳同名Object都會建立新版本,並用版本ID(Version ID)標識。OSS根據上傳的開始時間確定最新版本。例如,使用者B在使用者A之後開始上傳,則使用者B上傳的Object將被標記為最新版本。

Multipart

通過分區上傳產生的Object類型。

  • 在版本控制未開啟或暫停時,分區上傳完成後會合并為一個完整Object,且新的完整的Object會覆蓋同名的舊Object,保留最後完成合併的Object。

  • 版本控制開啟時,每次分區上傳完成併合並後的同名Object都會建立新版本,用Version ID標識,最後完成合併的Object會被標記為最新版本。

Appendable

通過追加上傳產生的Object類型。

無論版本控制的狀態如何,Appendable類型的Object在追加資料時,不會因為追加操作而產生新的版本,所有追加的資料都只會附加到原始檔案之後。

Symlink

通過PutSymlink產生的軟連結。

設定軟連結以便快速存取常用Object。

Delete Marker(刪除標記)

除上述四種Object類型外,OSS還存在一種特殊的對象標識——Delete Marker(刪除標記)。它並不是傳統的Object類型,而是在版本控制已開啟或暫停Bucket中執行DeleteObject(刪除)操作時產生的標記。如果在刪除Object時未指定版本ID(Version ID),OSS會建立一個“刪除標記”作為最新版本。Object看似已被刪除,實際上資料仍然保留,後續仍可恢複。若刪除Object時指定了版本ID,則會刪除指定版本的Object,而不產生刪除標記。

功能指引

上傳檔案

操作

說明

簡單上傳

簡單上傳指的是使用OSS API中的PutObject介面上傳小於5 GB的單個檔案,適用於一次HTTP請求互動即可完成上傳的情境。

分區上傳

將待上傳的檔案分成多個片段(Part)分別上傳,上傳完成後再調用CompleteMultipartUpload介面將這些Part組合成一個Object。

斷點續傳上傳

通過Checkpoint檔案指定斷點記錄點。上傳過程中,如果出現網路異常或程式崩潰導致檔案上傳失敗時,將從斷點記錄處繼續上傳未上傳完成的部分。

上傳回調

OSS在完成檔案上傳時可以提供回調(Callback)給應用伺服器。只需在發送給OSS的請求中攜帶相應的Callback參數,即可實現回調。

用戶端直傳

用戶端直接上傳檔案到Object Storage Service,避免了商務服務器中轉檔案,提高了上傳速度,節省了伺服器資源。

表單上傳

使用OSS API中的PostObject請求來完成檔案上傳,上傳的檔案不能超過5 GB。

追加上傳

在已上傳的Appendable類型Object後面直接追加內容。

RTMP推流上傳

OSS支援使用RTMP協議推送H264編碼的視頻流和AAC編碼的音頻流到OSS。推送到OSS的音視頻資料可以點播播放;在對延遲不敏感的應用情境,也可以做直播用途。

下載檔案

操作

說明

簡單下載

使用OSS API的GetObject介面,下載已上傳的檔案,適用於一次HTTP請求互動即可完成下載的情境。

斷點續傳下載

從指定位置開始下載檔案。在下載大檔案時,可以分多次下載。如果下載中斷,重啟時也可以從上次完成的位置開始繼續下載。

使用簽名URL下載檔案

檔案上傳至Bucket後,可以通過檔案URL將檔案分享給第三方預覽或下載。

限定條件下載

通過檢測最後修改時間或ETag條件,只有在檔案內容發生變化時才會觸發下載,避免重複下載。

管理檔案

操作

說明

列舉檔案

Bucket內的Object預設按照字母序排列。可以結合實際情境列舉當前Bucket的所有Object、指定首碼的Object、指定個數的Object等。

拷貝檔案

在不改變檔案內容的情況下,將同一地區下的源Bucket內的檔案複製到目標Bucket。

重新命名檔案

在同一個Bucket內重新命名某個Object。

搜尋檔案

當Bucket上傳了大量的Object時,OSS支援通過指定檔案名稱首碼快速搜尋並定位目標檔案。

解凍檔案

冷Archive Storage或者深度冷Archive Storage類型的Object需要解凍(Restore)之後才能讀取。

刪除檔案

通過多種方式刪除Bucket中不再需要保留的Object。

對象標籤

OSS支援使用標籤對Bucket中的Object進行分類,可以針對同標籤的Object設定生命週期規則、存取權限等。

軟連結

軟連結功能用於快速存取Bucket內的常用Object。設定軟連結後,可以通過軟連結檔案快速開啟Object。

管理檔案中繼資料

檔案元資訊是對檔案的屬性描述,包括HTTP標準屬性(HTTP Header)和使用者自訂中繼資料(User Meta)兩種。可以通過設定檔案HTTP頭來自訂HTTP請求的策略,例如檔案快取策略、強制下載策略等,也可以通過設定使用者自訂中繼資料來標識Object的用途或屬性等。

單連結限速

用戶端訪問OSS內的檔案時會佔用較大頻寬,可能會對其他應用造成影響。可以通過OSS提供的單連結限速功能在上傳、下載檔案等操作中進行流量控制,以保證其他應用的網路頻寬。

查詢檔案

使用SelectObject對目標檔案執行SQL語句,返回執行結果。

刪除片段

在分區上傳過程中,如果某些Part不再需要,可以調用AbortMultipartUpload介面刪除這些未完成的Part。

通過Cloud Storage Gateway掛載OSS

通過Cloud Storage Gateway掛載OSS,您可以將OSS映射為一個共用的檔案儲存體系統,實現多個使用者在不同地點和裝置上共用訪問OSS資料。掛載完成後,您可以像使用本地檔案夾和磁碟一樣操作OSS資源。

常見問題