對象
對象(Object)是OBS中數據存儲的基本單位,一個對象實際是一個文件的數據與其相關屬性信息(元數據)的集合體。用戶上傳至OBS的數據都以對象的形式保存在桶中。
對象包括了Key,Metadata,Data三部分:
-
Key:鍵值,即對象的名稱,為經過UTF-8編碼的長度大于0且不超過1024的字符序列。一個桶里的每個對象必須擁有唯一的對象鍵值。
-
Metadata:元數據,即對象的描述信息,包括系統元數據和用戶元數據,這些元數據以鍵值對(Key-Value)的形式被上傳到OBS中。
- 系統元數據由OBS自動產生,在處理對象數據時使用,包括Date,Content-length,Last-modify,Content-MD5等。
- 用戶元數據由用戶在上傳對象時指定,是用戶自定義的對象描述信息。
-
Data:數據,即文件的數據內容。
通常,我們將對象等同于文件來進行管理,但是由于OBS是一種對象存儲服務,并沒有文件系統中的文件和文件夾概念。為了使用戶更方便進行管理數據,OBS提供了一種方式模擬文件夾。通過在對象的名稱中增加“/”,例如“test/123.jpg”。此時,“test”就被模擬成了一個文件夾,“123.jpg”則模擬成“test”文件夾下的文件名了,而實際上,對象名稱(Key)仍然是“test/123.jpg”。
上傳對象時,可以指定對象的存儲類別,若不指定,默認與桶的存儲類別一致。上傳后,對象的存儲類別可以修改。
在OBS管理控制臺和客戶端中,用戶均可直接使用文件夾的功能,符合文件系統下的操作習慣。
桶
桶(Bucket)是OBS中存儲對象的容器。對象存儲提供了基于桶和對象的扁平化存儲方式,桶中的所有對象都處于同一邏輯層級,去除了文件系統中的多層級樹形目錄結構。
每個桶都有自己的存儲類別、訪問權限、所屬區域等屬性,用戶可以在不同區域創建不同存儲類別和訪問權限的桶,并配置更多高級屬性來滿足不同場景的存儲訴求。
對象存儲服務設置有三類桶存儲類別,分別為:標準存儲、低頻訪問存儲、歸檔存儲,從而滿足客戶業務對存儲性能、成本的不同訴求。創建桶時可以指定桶的存儲類別,桶的存儲類別可以修改。
在OBS中,桶名必須是全局唯一的且不能修改,即用戶創建的桶不能與自己已創建的其他桶名稱相同,也不能與其他用戶創建的桶名稱相同。桶所屬的區域在創建后也不能修改。每個桶在創建時都會生成默認的桶ACL(Access Control List),桶ACL列表的每項包含了對被授權用戶授予什么樣的權限,如讀取權限、寫入權限等。用戶只有對桶有相應的權限,才可以對桶進行操作,如創建、刪除、顯示、設置桶ACL等。
一個賬號可創建100個桶。每個桶中存放的對象的數量和大小總和沒有限制,用戶不需要考慮數據的可擴展性。
由于OBS是基于REST風格HTTP和HTTPS協議的服務,您可以通過URL(Uniform Resource Locator)來定位資源。
OBS中桶和對象的關系如圖所示:

并行文件系統
并行文件系統(Parallel File System)是對象存儲服務(Object Storage Service,OBS)提供的一種經過優化的高性能文件系統,提供毫秒級別訪問時延,以及TB/s級別帶寬和百萬級別的IOPS,能夠快速處理高性能計算(HPC)工作負載。
訪問密鑰(AK/SK)
OBS支持通過AK/SK認證方式進行認證鑒權,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法來驗證某個請求發送者身份。當您使用OBS提供的API進行二次開發并通過AK/SK認證方式完成認證鑒權時,需要按照OBS定義的簽名算法來計算簽名并添加到請求中。
OBS支持使用永久AK/SK鑒權,也支持通過臨時AK/SK和securitytoken進行認證鑒權。
永久AK/SK
用戶可以在“我的憑證”頁面創建永久AK/SK。
- Access Key Id(AK):訪問密鑰ID。與私有訪問密鑰關聯的唯一標識符;訪問密鑰ID和私有訪問密鑰一起使用,對請求進行加密簽名。
- Secret Access Key(SK):與訪問密鑰ID結合使用的私有訪問密鑰,對請求進行加密簽名,可標識發送方,并防止請求被修改。
臨時AK/SK
臨時AK/SK和securitytoken是系統頒發給用戶的臨時訪問令牌,有效期范圍為15分鐘至24小時,過期后需要重新獲取。臨時AK/SK和securitytoken遵循權限最小化原則,可應用于臨時訪問OBS。如果未使用securitytoken,會返回403錯誤。
- 臨時Access Key Id:臨時訪問密鑰ID。與私有訪問密鑰關聯的唯一標識符;訪問密鑰ID和私有訪問密鑰一起使用,對請求進行加密簽名。
- 臨時Secret Access Key:與臨時訪問密鑰ID結合使用的臨時私有訪問密鑰,對請求進行加密簽名,可標識發送方,并防止請求被修改。
- securitytoken:與臨時訪問密鑰ID和臨時私有訪問密鑰結合使用,可以訪問指定賬號下所有資源。
當使用如下工具訪問OBS資源時,需配置AK/SK用于生成鑒權信息進行安全認證。
| 工具 | AK/SK配置方式 |
|---|---|
| OBS Browser+ | 在配置賬號時配置AK和SK。 |
| API | 在計算簽名時添加AK和SK到請求中。 |
終端節點和訪問域名
終端節點(Endpoint):OBS為每個區域提供一個終端節點,終端節點可以理解為OBS在不同區域的區域域名,用于處理各自區域的訪問請求。
訪問域名:OBS會為每一個桶分配默認的訪問域名。訪問域名是桶在互聯網中的域名地址,可應用于直接通過域名訪問桶的場景,比如:云應用開發、數據分享等。
OBS桶訪問域名的結構為:BucketName.Endpoint。其中BucketName為桶名稱,Endpoint為桶所在區域的終端節點(區域域名)。
除了桶訪問域名外,下表列出了與OBS相關的其他域名的結構、協議類型等信息,以便您全面地了解OBS域名。
| 域名類型 | 域名結構 | 說明 | 協議類型 |
|---|---|---|---|
| 區域域名 | Endpoint | 不同的區域分配各自對應的域名,即各區域的終端節點。請向企業管理員獲取區域和終端節點信息。 | HTTPS/HTTP |
| 桶訪問域名 | BucketName.Endpoint | 桶創建成功后,可以使用桶訪問域名來訪問桶。您可以根據訪問域名結構自行拼接,也可以通過在OBS管理控制臺、OBS Browser+上查看桶基本信息獲取。 | HTTPS/HTTP |
| 對象訪問域名 | BucketName.Endpoint/ObjectName | 對象上傳到桶中后,可以使用對象訪問域名來訪問桶中的指定對象。您可以根據訪問域名結構自行拼接,也可以通過在OBS管理控制臺、OBS Browser+上查看對象屬性獲取。 | HTTPS/HTTP |
| 靜態網站訪問域名 | BucketName.obs-website.Endpoint | 桶配置為靜態網站托管時,桶的靜態網站訪問域名。 | HTTPS/HTTP |
區域和可用區
什么是區域、可用區?
我們用區域和可用區來描述數據中心的位置,您可以在特定的區域、可用區創建資源。
- 區域(Region)指物理的數據中心。每個區域完全獨立,這樣可以實現最大程度的容錯能力和穩定性。資源創建成功后不能更換區域。
- 可用區(AZ,Availability Zone)是同一區域內,電力和網絡互相隔離的物理區域,一個可用區不受其他可用區故障的影響。一個區域內可以有多個可用區,不同可用區之間物理隔離,但內網互通,既保障了可用區的獨立性,又提供了低價、低時延的網絡連接。

如何選擇區域?
建議就近選擇靠近您或者您的目標用戶的區域,這樣可以減少網絡時延,提高訪問速度。
如何選擇可用區?(OBS部分區域支持3AZ)
是否將資源放在同一可用區內,主要取決于您對容災能力和網絡時延的要求。
- 如果您的應用需要較高的容災能力,建議您將資源部署在同一區域的不同可用區內。
- 如果您的應用要求實例之間的網絡延時較低,則建議您將資源創建在同一可用區內。
區域和終端節點
當您通過API使用資源時,您必須指定其區域終端節點。