一、什么是對象存儲OSS
阿里雲對象存儲服務(Object Storage Service,簡稱OSS),是阿里雲對外提供的海量、安全、低成本、高可靠的雲存儲服務。您可以通過本文檔提供的簡單的 REST 接口,在任何時間、任何地點、任何互聯網設備上進行上傳和下載數據。基於 OSS,您可以搭建出各種多媒體分享網站、網盤、個人和企業數據備份等基於大規模數據的服務。更多請參考:阿里雲官網-OSS簡介
基於阿里雲提供的的文件傳輸服務,可以對文件實施:
- 上傳(基礎上傳,表單上傳,追加上傳,分片上傳,斷點上傳,上傳進度,上傳回調)
- 下載(下載到本地,流式下載,范圍下載,斷點續傳下載,限定條件下載)
OSS 有一些注意事項:
二、OSS的基本概念
下面是從阿里雲官網-OSS基本概念摘抄的幾個重要的基本概念。
對象(Object)
對象是 OSS 存儲數據的基本單元,也被稱為 OSS 的文件。和傳統的文件系統不同,對象沒有文件目錄層級結構的關系。對象由元信息(Object Meta),用戶數據(Data)和文件名(Key)組成,並且由存儲空間內部唯一的 Key 來標識。對象元信息是一組鍵值對,表示了對象的一些屬性,比如最后修改時間、大小等信息,同時用戶也可以在元信息中存儲一些自定義的信息。
對象的生命周期是從上傳成功到被刪除為止。在整個生命周期內,除通過追加方式上傳的 Object 可以通過繼續追加上傳寫入數據外,其他方式上傳的 Object 內容無法編輯,您可以通過重復上傳同名的對象來覆蓋之前的對象。
ObjectKey
在各語言 SDK 中,ObjectKey、Key 以及 ObjectName 是同一概念,均表示對 Object 執行相關操作時需要填寫的 Object 名稱。例如向某一存儲空間上傳 Object 時,ObjectKey 表示上傳的 Object 所在存儲空間的完整名稱,即包含文件后綴在內的完整路徑,如填寫為 abc/efg/123.jpg。
Region(地域)
Region 表示 OSS 的數據中心所在物理位置。用戶可以根據費用、請求來源等選擇合適的地域創建 Bucket。一般來說,距離用戶更近的 Region 訪問速度更快。詳情請參見OSS已經開通的Region。
Region 是在創建 Bucket 的時候指定的,一旦指定之后就不允許更改。該 Bucket 下所有的 Object 都存儲在對應的數據中心,目前不支持 Object 級別的 Region 設置。
Endpoint(訪問域名)
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。
三、開始使用OSS
1. 注冊登錄阿里雲
如果以前沒注冊過阿里雲,可以使用支付寶等第三方注冊綁定后登錄。
2. 開通OSS服務
在 OSS 產品詳情頁,單擊立即開通。開通服務后,在 OSS 產品詳情頁單擊管理控制台直接進入 OSS 管理控制台界面。
注:如果后面需要經常使用 OSS 服務來訪問、上傳和下載,可以考慮購買 OSS 資源包,具體可參考:對象存儲OSS資源包(包月)
3. 通過OSS控制台創建存儲空間(Bucket)
存儲空間(Bucket)是用戶用於存儲對象(Object)的容器,所有的對象都必須隸屬於某個存儲空間。存儲空間具有各種配置屬性,包括地域、訪問權限、存儲類型等。用戶可以根據實際需求,創建不同類型的存儲空間來存儲不同的數據。
- 同一個存儲空間的內部是扁平的,沒有文件系統的目錄等概念,所有的對象都直接隸屬於其對應的存儲空間。
- 每個用戶可以擁有多個存儲空間。
- 存儲空間的名稱在 OSS 范圍內必須是全局唯一的,一旦創建之后無法修改名稱。
- 存儲空間內部的對象數目沒有限制。
具體創建步驟請參考:創建存儲空間
4. 創建屬於個人的AccessKey
AccessKey 簡稱 AK,指的是訪問身份驗證中用到的 AccessKeyId 和 AccessKeySecret。OSS 通過使用 AccessKeyId 和 AccessKeySecret 對稱加密的方法來驗證某個請求的發送者身份。
- AccessKeyId 用於標識用戶;
- AccessKeySecret 是用戶用於加密簽名字符串和OSS用來驗證簽名字符串的密鑰,必須保密。
對於 OSS 來說,AccessKey 的來源有:
- Bucket 的擁有者申請的 AccessKey。
- 被 Bucket 的擁有者通過 RAM 授權給第三方請求者的 AccessKey。
- 被 Bucket 的擁有者通過 STS 授權給第三方請求者的 AccessKey。
具體創建步驟請參考:創建AccessKey
5. 通過控制台實現上傳、下載等功能
到這里,就可以在控制台在創建的 Bucket 中實現上傳、下載等功能了,具體可以參考:控制台快速入門
四、OSS工具
4.1 命令行工具ossutil
命令行工具 ossutil 支持在 Windows、Linux、macOS 等系統上運行,您可以根據自己的環境下載和安裝合適版本。官方提供的下載鏈接如下:
下載解壓后只有兩個文件 ossutil.bat 和 ossutil64.exe。
config
命令行工具ossutil下載和安裝說明了各種系統的配置方法,這里只重點講下 Windows 下是如何配置的。config 命令用於創建配置文件來存儲 OSS 訪問信息。有兩種配置方法:
1.交互式配置
cmd 執行以下命令生成配置文件,會提示你輸入 endpoint 等信息,如下圖所示:
ossutil64.exe config
生成的配置文件路徑若未指定,默認為C:\Users\feng\.ossutilconfig
,配置文件則為.ossutilconfig
,其內容如下:
[Credentials]
language=CH
endpoint=oss.aliyuncs.com
accessKeyID=your_key_id
accessKeySecret=your_key_secret
- endpoint:填寫 Bucket 所在地域的 Endpoint。各地域 Endpoint 詳情,請參見訪問域名和數據中心。我選的華南3(廣州)外網的是
oss-cn-guangzhou.aliyuncs.com
。 - accessKeyID、accessKeySecret:填寫賬號的 AccessKey。
2.非交互式配置
./ossutil config -e oss-cn-beijing.aliyuncs.com -i LTAIbZcdVCmQ**** -k D26oqKBudxDRBg8Wuh2EWDBrM0**** -L CH -c /myconfig
更多關於 config 的內容請參考:config
常用命令
ls(列舉)
ossutil64.exe ls oss://testbucket-feng
cp(上傳、下載、拷貝)
上傳單個文件:
ossutil64.exe cp C:\Users\feng\Desktop\test.png oss://testbucket-feng/test/
上傳文件夾(注意不能是oss://testbucket-feng/test/
):
ossutil64.exe cp -r C:\Users\feng\Desktop\dir oss://testbucket-feng/test/dir/
沿用原文件名保存文件:
ossutil64.exe cp oss://testbucket-feng/test/test.png C:\Users\feng\Downloads\
按指定文件名保存文件:
ossutil64.exe cp oss://testbucket-feng/test/test.png C:\Users\feng\Downloads\test222.png
下載文件夾:
ossutil64.exe cp -r oss://testbucket-feng/test/dir C:\Users\feng\Downloads\
更多命令請參考:ossutil常用命令
4.2 圖形化管理工具ossbrowser
ossbrowser 是阿里雲對象存儲 OSS 的圖形化管理工具,提供類似 Windows 資源管理器的功能。使用 ossbrowser,您可以方便地創建存儲空間(Bucket)並進行上傳、下載和管理文件(Object)等基礎操作。支持 Windows 7 及以上版本、Linux 和 macOS 平台。
官方提供的下載鏈接如下:
下載安裝好后,打開 ossbrowser 並登錄,填寫好相應賬號創建提供的 AccessKeyId 和 AccessKeySecret,就可以進行上傳、下載等操作了(當然必須管理員提供了相應權限)。
使用也很簡單,這里不再贅述,更多說明請參考:圖形化管理工具ossbrowser快速入門
參考: