阿里云對象存儲OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存儲服務,可提供99.9999999999%(12個9)的數據持久性,99.995%的數據可用性。多種存儲類型供選擇,全面優化存儲成本。
OSS具有與平臺無關的RESTful API接口,您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
您可以使用阿里云提供的API、SDK包或者OSS遷移工具輕松地將海量數據移入或移出阿里云OSS。數據存儲到阿里云OSS以后,您可以選擇標準存儲(Standard)作為移動應用、大型網站、圖片分享或熱點音視頻的主要存儲方式,也可以選擇成本更低、存儲期限更長的低頻訪問存儲(Infrequent Access)、歸檔存儲(Archive)、冷歸檔存儲(Cold Archive)或者深度冷歸檔(Deep Cold Archive)作為不經常訪問數據的存儲方式。
OSS作為云上數據湖可提供高帶寬的下載能力。在部分地域,可為單個阿里云賬號提供高達100 Gbps的內外網總下載帶寬,旨在滿足AI和大規模數據分析的需求。關于各地域的帶寬說明,請參見OSS帶寬。
前置概念
閱讀本文前,您可能需要了解如下概念:
快速了解OSS
短視頻
觀看以下視頻,快速了解OSS。
常見問題
查看OSS常見問題,了解其他用戶經常咨詢和關注的一些問題。
OSS工作原理
數據以對象(Object)的形式存儲在OSS的存儲空間(Bucket )中。如果要使用OSS存儲數據,您需要先創建Bucket,并指定Bucket的地域、訪問權限、存儲類型等屬性。創建Bucket后,您可以將數據以Object的形式上傳到Bucket,并指定Object的文件名(Key)作為其唯一標識。
OSS以HTTP RESTful API的形式對外提供服務,訪問不同地域需要不同的訪問域名(Endpoint)。當您請求訪問OSS時,OSS通過使用訪問密鑰(AccessKey ID和AccessKey Secret)對稱加密的方法來驗證某個請求的發送者身份。
Object操作在OSS上具有原子性和強一致性。
存儲空間
存儲空間是用戶用于存儲對象(Object)的容器,所有的對象都必須隸屬于某個存儲空間。存儲空間具有各種配置屬性,包括地域、訪問權限、存儲類型等。用戶可以根據實際需求,創建不同類型的存儲空間來存儲不同的數據。
對象
對象是OSS存儲數據的基本單元,也被稱為OSS的文件。和傳統的文件系統不同,對象沒有文件目錄層級結構的關系。對象由元數據(Object Meta)、用戶數據(Data)和文件名(Key)組成,并且由存儲空間內部唯一的Key來標識。對象元數據是一組鍵值對,表示了對象的一些屬性,例如文件類型、編碼方式等信息,同時用戶也可以在元數據中存儲一些自定義的信息。
對象名稱
在各語言SDK中,ObjectKey、Key以及ObjectName是同一概念,均表示對Object執行相關操作時需要填寫的Object名稱。例如向某一存儲空間上傳Object時,ObjectKey表示上傳的Object所在存儲空間的完整名稱,即包含文件后綴在內的完整路徑,如填寫為
abc/efg/123.jpg
。地域
Region表示OSS的數據中心所在物理位置。用戶可以根據費用、請求來源等選擇合適的地域創建Bucket。一般來說,距離用戶更近的Region訪問速度更快。更多信息,請參見OSS已經開通的Region。
訪問域名
Endpoint表示OSS對外服務的訪問域名。OSS以HTTP RESTful API的形式對外提供服務,當訪問不同的Region的時候,需要不同的域名。通過內網和外網訪問同一個Region所需要的Endpoint也是不同的。例如杭州Region的外網Endpoint是oss-cn-hangzhou.aliyuncs.com,內網Endpoint是oss-cn-hangzhou-internal.aliyuncs.com。具體的內容請參見各個Region對應的Endpoint。
訪問密鑰
AccessKey簡稱AK,指的是訪問身份驗證中用到的AccessKey ID和AccessKey Secret。OSS通過使用AccessKey ID和AccessKey Secret對稱加密的方法來驗證某個請求的發送者身份。AccessKey ID用于標識用戶;AccessKey Secret是用戶用于加密簽名字符串和OSS用來驗證簽名字符串的密鑰,必須保密。對于OSS來說,AccessKey的來源有:
Bucket的擁有者申請的AccessKey。
被Bucket的擁有者通過RAM授權給第三方請求者的AccessKey。
被Bucket的擁有者通過STS授權給第三方請求者的AccessKey。
更多AccessKey介紹請參見創建AccessKey。
原子性和強一致性
Object操作在OSS上具有原子性,操作要么成功要么失敗,不存在中間狀態的Object。當Object上傳完成時,OSS即可保證讀到的Object是完整的,OSS不會返回給用戶一個部分上傳成功的Object。
Object操作在OSS同樣具有強一致性,當用戶收到了上傳(PUT)成功的響應時,該上傳的Object進入立即可讀狀態,并且Object的冗余數據已經寫入成功。不存在上傳的中間狀態,即執行read-after-write,卻無法讀取到數據。對于刪除操作,用戶刪除指定的Object成功之后,該Object立即不存在。
關于OSS基本概念的完整介紹,請參見基本概念。
OSS重要特性
版本控制
版本控制是針對存儲空間(Bucket)級別的數據保護功能。開啟版本控制后,針對數據的覆蓋和刪除操作將會以歷史版本的形式保存下來。您在錯誤覆蓋或者刪除文件(Object)后,能夠將Bucket中存儲的Object恢復到任意時刻的歷史版本。更多信息,請參見版本控制概述。
Bucket Policy
Bucket擁有者可通過Bucket Policy授權不同用戶以何種權限訪問指定的OSS資源。例如您需要進行跨賬號或對匿名用戶授權訪問或管理整個Bucket或Bucket內的部分資源,或者需要對同賬號下的不同RAM用戶授予訪問或管理Bucket資源的不同權限,例如只讀、讀寫或完全控制的權限等。關于配置Bucket Policy的具體操作,請參見通過Bucket Policy授權用戶訪問指定資源。
跨區域復制
跨區域復制(Cross-Region Replication)是跨不同OSS數據中心(地域)的Bucket自動、異步(近實時)復制Object,它會將Object的創建、更新和刪除等操作從源存儲空間復制到不同區域的目標存儲空間。跨區域復制功能滿足Bucket跨區域容災或用戶數據復制的需求。更多信息,請參見跨區域復制概述。
數據加密
服務器端加密:上傳文件時,OSS對收到的文件進行加密,再將得到的加密文件持久化保存;下載文件時,OSS自動將加密文件解密后返回給用戶,并在返回的HTTP請求Header中,聲明該文件進行了服務器端加密。更多信息,請參見服務器端加密。
客戶端加密:將文件上傳到OSS之前在本地進行加密。更多信息,請參見客戶端加密。
數據永久保存
除以下情況以外,OSS默認永久保存上傳到Bucket的數據:
通過OSS控制臺、API、SDK、ossutil或者ossbrowser等工具手動刪除數據。更多信息,請參見刪除文件。
通過生命周期規則在指定時間內自動刪除數據。更多信息,請參見基于最后一次修改時間的生命周期規則。
OSS停服后15天內未補足欠款。更多信息,請參見欠費停服說明。
關于OSS功能特性的完整介紹,請參見功能特性。
OSS使用方式
OSS提供多種靈活的上傳、下載和管理方式。
通過控制臺管理OSS
OSS提供了Web服務頁面,您可以登錄OSS控制臺管理您的OSS資源。更多信息,請參見OSS管理控制臺概覽。
通過API或SDK管理OSS
OSS提供RESTful API和各種語言的SDK開發包,方便您快速進行二次開發。更多信息,請參見OSS API參考和OSS SDK參考。
通過工具管理OSS
OSS提供圖形化管理工具ossbrowser、命令行管理工具ossutil、FTP管理工具ossftp等各種類型的管理工具。更多信息,請參見OSS常用工具。
通過云存儲網關管理OSS
OSS的存儲空間內部是扁平的,沒有文件系統的目錄等概念,所有的對象都直接隸屬于其對應的存儲空間。如果您想要像使用本地文件夾和磁盤的方式來使用OSS存儲服務,可以通過配置云存儲網關來實現。更多信息,請參見云存儲網關產品詳情頁面。
OSS計費
對象存儲OSS支持以下計費方式。
按量付費:所有計費項默認采用按量付費。按照各計費項的實際用量結算費用,先使用,后付費,適用于業務用量經常有變化的場景。更多信息,請參見按量付費。
資源包:針對部分常用計費項支持專用的資源包。預先購買針對不同的計費項推出的優惠資源包,在費用結算時,優先從資源包抵扣用量,先購買,后抵扣,適用于業務用量相對穩定的場景。更多信息,請參見資源包概述。
預留空間:針對有地域屬性Bucket產生的標準存儲(本地冗余)容量費用以及ECS快照存儲費用的預付費產品。預先購買預留空間,在費用結算時,優先從預留空間抵扣用量,先購買,后抵扣。更多信息,請參見預留空間。
無地域屬性預留空間:針對無地域屬性Bucket產生的標準存儲(本地冗余)容量費用的預付費產品。預先購買無地域屬性的預留空間,在費用結算時,優先從無地域屬性預留空間抵扣用量,先購買,后抵扣。更多信息,請參見無地域屬性預留空間。
存儲容量單位包SCU:針對存儲費用支持SCU。SCU除了用于抵扣OSS的存儲費用,還可用于抵扣多種云存儲產品存儲容量費用。更多信息,請參見存儲容量單位包SCU。
相較于按量付費,資源包和SCU具有一定的優惠折扣。
超出資源包、預留空間、無地域屬性預留空間、存儲容量單位包SCU抵扣額度的用量,計入按量付費,會產生后付費賬單,請根據您的所需服務、業務體量,購買適合額度的資源包、預留空間、無地域屬性預留空間、存儲容量單位包SCU。
其他相關服務
將數據存儲到OSS后,您可以使用阿里云提供的其他產品和服務對其進行相關操作。
以下是您會經常使用到的阿里云產品和服務:
圖片處理:對存儲在OSS上的圖片進行格式轉換、縮放、裁剪、旋轉、添加水印等各種操作。更多信息,請參見快速使用OSS圖片處理服務。
云服務器ECS:提供簡單高效、處理能力可彈性伸縮的云端計算服務。更多信息,請參見ECS產品詳情頁面。
內容分發網絡CDN:將OSS資源緩存到各區域的邊緣節點,利用邊緣節點緩存的數據,提升同一個文件被邊緣節點客戶大量重復下載的體驗。更多信息,請參見CDN產品詳情頁面。
E-MapReduce:構建于ECS上的大數據處理的系統解決方案,基于開源的Apache Hadoop和Apache Spark,方便您分析和處理自己的數據。更多信息,請參見E-MapReduce產品詳情頁面。
在線遷移服務:您可以使用在線遷移服務將第三方數據源,例如亞馬遜AWS、谷歌云等數據輕松遷移到OSS。更多信息,請參見在線遷移服務使用教程。
離線遷移服務:如果您有TB或PB級別的海量數據需要上傳到OSS,但本地的網絡帶寬不夠,擴容成本高,可以使用閃電立方離線數據遷移服務。更多信息,請參見離線遷移(閃電立方)介紹。
智能媒體管理IMM:場景化封裝數據智能分析管理,為云上文檔、圖片、視頻數據,提供一站式數據處理、分析、檢索等管控體驗。更多信息,請參見智能媒體管理介紹。
其他阿里云存儲服務
除了對象存儲以外,阿里云還提供文件存儲、塊存儲等類型的存儲服務,滿足您不同場景下的業務需求。更多信息,請參見阿里云存儲服務介紹和阿里云存儲產品文檔。
關于阿里云存儲服務的客戶案例、解決方案等,請參見阿里云存儲產品家族。