對象(Object)是OSS存儲數據的基本單元,也被稱為OSS的文件。和傳統的文件系統不同,Object沒有文件目錄層級結構的關系。
Object類型
Object包含以下三種類型。
不支持在不同類型的Object之間相互轉換。例如,Normal類型的Object無法轉換為Multipart或者Appendable類型。
類型 | 定義 | 說明 |
Normal | 通過簡單上傳生成的Object類型。 |
|
Multipart | 通過分片上傳生成的Object類型。 |
|
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的一些屬性,例如最后修改時間、大小等信息。您也可以在元數據中存儲一些自定義的信息。
功能支持對比
?”表示支持對應操作,“×”表示不支持對應操作。
操作 | 說明 | 有地域屬性Bucket | 無地域屬性Bucket |
簡單上傳指的是使用OSS API中的PutObject接口上傳小于5 GB的單個文件(Object),適用于一次HTTP請求交互即可完成上傳的場景。 | ? | ? | |
分片上傳是指將待上傳的文件分成多個碎片(Part)分別上傳,上傳完成之后再調用CompleteMultipartUpload接口將這些Part組合成一個Object。 | ? | ? | |
通過斷點續傳上傳的方式將文件上傳到OSS前,您可以通過Checkpoint文件指定斷點記錄點。上傳過程中,如果出現網絡異常或程序崩潰導致文件上傳失敗時,將從斷點記錄處繼續上傳未上傳完成的部分。 | ? | ? | |
OSS在完成文件(Object)上傳時可以提供回調(Callback)給應用服務器。您只需要在發送給OSS的請求中攜帶相應的Callback參數,即可實現回調。 | ? | ? | |
客戶端直傳是指客戶端直接上傳文件到對象存儲OSS。相對于服務端代理上傳,客戶端直傳避免了業務服務器中轉文件,提高了上傳速度,節省了服務器資源。 | ? | ? | |
表單上傳是指使用OSS API中的PostObject請求來完成Object的上傳,上傳的Object不能超過5 GB。 | ? | ? | |
追加上傳指的是在已上傳的Appendable類型Object后面直接追加內容。 | ? | ? | |
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。 | ? | ? | |
Object上傳至Bucket后,您可以通過文件URL將文件分享給第三方預覽或下載。 | ? | ? | |
當您向Bucket上傳了大量的Object時,OSS支持通過指定文件名前綴快速搜索并定位目標文件。 | ? | ? | |
冷歸檔存儲或者深度冷歸檔存儲類型的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。 | ? | × |