全部產品
Search
文件中心

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

更新時間:Nov 30, 2024

對象(Object)是OSS儲存資料的基本單元,也被稱為OSS的檔案。和傳統的檔案系統不同,Object沒有檔案目錄層級結構的關係。

Object類型

Object包含以下三種類型。

重要

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

類型

定義

說明

Normal

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

  • 在Bucket未開啟版本控制或者處於暫停版本控制狀態下,通過PutObject上傳同名檔案時,後一次完成上傳的檔案將覆蓋前一次上傳的檔案,且只保留最後調用該介面完成上傳的檔案。

  • 在Bucket已開啟版本控制的狀態下,通過PutObject上傳同名檔案時,OSS會通過versionId標識每一次上傳的檔案,並將最後調用該介面開始上傳的檔案標記為最新版本。

Multipart

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

  • 在Bucket未開啟版本控制或者處於暫停版本控制狀態下,通過CompleteMultipartUpload合并分區為完整的檔案時,後一次完成合併的完整檔案將覆蓋前一次合并的同名檔案,且只保留最後調用該介面完成合併的完整檔案。

  • 在Bucket已開啟版本控制的狀態下,通過CompleteMultipartUpload合并分區為完整的檔案時,OSS會通過versionId標識每一次合并分區產生的同名完整檔案,並將最後調用該介面完成合併的完整檔案標記為最新版本。

Appendable

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

調用AppendObject完成首次上傳後,在已上傳Appendable類型Object後面直接追加內容。

Symlink

通過PutSymlink產生的軟連結。

通過設定軟連結,便捷訪問Bucket內的常用Object。

Delete Marker

未指定Object版本ID發起DeleteObject請求產生的刪除標記。

對已開啟或已暫停版本控制的Bucket中的Object發送DeleteObject請求時,如果在DeleteObject請求中未指定Object的版本ID,則不會刪除Object ,而是插入刪除標記作為Object的目前的版本,便於後續恢複誤刪除的資料。

Object資訊

Object包含以下資訊:

  • Key:Object的名稱,可用於查詢Object。

  • Data:您儲存的資料,可由任意長度的位元組組成。

  • Version ID:將Object上傳至開啟版本控制的儲存空間(Bucket)後,OSS產生標識該對象的版本ID。

  • Object Meta:Object中繼資料,是一組索引值對,表示了Object的一些屬性,例如最後修改時間、大小等資訊。您也可以在中繼資料中儲存一些自訂的資訊。

相關操作

下表匯總了OSS支援的Object相關操作。

操作

說明

簡單上傳

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

分區上傳

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

斷點續傳上傳

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

上傳回調

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

用戶端直傳

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

表單上傳

表單上傳是指使用OSS API中的PostObject請求來完成Object的上傳,上傳的Object不能超過5 GB。

追加上傳

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

RTMP推流上傳

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

簡單下載

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

斷點續傳下載

OSS提供了從Object指定的位置開始下載的功能,在下載大的Object的時候,可以分多次下載。如果下載中斷,重啟時也可以從上次完成的位置開始繼續下載。

授權給第三方下載

您可以在不提供資源擁有者所屬帳號的存取金鑰(AccessKey)的情況下,通過臨時訪問憑證以及簽名URL的方式授權第三方下載檔案Object。

列舉檔案

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

拷貝檔案

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

重新命名檔案

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

使用檔案URL

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

搜尋檔案

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

解凍檔案

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

刪除檔案

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

對象標籤

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

軟連結

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

管理檔案中繼資料

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

單連結限速

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

查詢檔案

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

刪除片段

進行分區上傳時,Object會被切成若干個Part,這些Part被稱為片段。當您將這些Part上傳到OSS服務端後,可以調用CompleteMultipartUpload將這些Part組合成一個完整的Object。

管理目錄

與傳統檔案系統中的層級結構不同,OSS內部使用扁平結構儲存資料。即所有資料均以Object的形式儲存在Bucket中。為方便您對Object進行分組並簡化許可權管理,您可以通過目錄的層次來組織Object。

資料索引

資料索引是OSS對外提供的Object中繼資料索引能力。您可以利用Object的中繼資料自訂索引的條件,從而快速擷取Object列表。資料索引可以協助您更好地管理與瞭解資料結構,方便您後續查詢、統計和管理Object。