聊聊又拍雲存儲 S3 協議的使用

近期,有細心的同學發現,在又拍雲控制檯中的雲存儲產品中增加了針對 S3 協議標準的兼容支持,授權用戶通過 S3 協議標準對存儲空間的數據進行讀寫操作。此配置操作之前是由人工協助的方式提供給用戶使用的,現爲方便大家自助使用,將其在控制檯上做了統一的配置開放。

d3aecc2b1e9c10a61f82ad92cb79a7dc.jpg

可能有部分用戶對 S3 協議瞭解不多,那我們就來簡單介紹下 S3。

S3 是 Simple Storage Service 的縮寫,即簡單存儲服務。S3 協議由亞馬遜公司推出,原本是專門針對 Amazon S3 而產生的,在 URL 中,指定一個 Amazon S3 桶的位置以及用來讀寫該桶中文件的前綴。用戶可以定義只讀外部表使用 S3 桶中現有的數據文件作爲表數據,或者創建可寫外部表將來自於 INSERT 操作的數據存儲到 S3 桶中的文件。發展至今,S3 協議已經發展成爲一個非常強大的數據管理接口。與傳統的文件系統接口不同,它爲應用程序開發人員提供了一種通過豐富的 API 集控制數據的方法。

S3 API

S3 API 是一個應用程序編程接口,爲雲存儲提供上傳、檢索、列出和刪除對象的能力。S3 API 支持標準的 REST(Representational State Transfer)和 SOAP(Simple Object Access Protocol)協議,目前,HTTP 上的 SOAP 支持已棄用,SOAP 仍可在 HTTPS 上使用。SOAP 目前已不支持再在 HTTP 上使用,也不支持主流 S3 功能,強烈建議您使用 REST 協議訪問,REST 協議也是 S3 主要的訪問協議。

REST 協議是一種基於 HTTP 協議的輕量級協議,使用標準的 HTTP 請求方法(GET、PUT、DELETE 等)和狀態碼(200、404、403 等)來進行對象存儲服務的操作。使用 S3 協議,您可以通過編寫簡單的程序或使用 AWS 提供的 SDK(Software Development Kit)來訪問和管理又拍雲存儲中的數據對象,例如上傳和下載文件、刪除和複製文件等。

又拍雲支持的 S3 API 如下圖所示:

01f704a888d0b01b3cb1408e757217b0.png

簽名認證和API路徑

又拍雲存儲同時兼容 AWS Signature Version 2 和 AWS Signature Version 4,均實現了請求頭簽名和參數簽名方式。

又拍雲存儲的路徑風格格式爲: https://s3.api.upyun.com/<bucket名稱>/<Object存儲路徑>,bucket 名字作爲路徑使用的一部分,類似於又拍雲存儲目前使用的 RESTful API  路徑形式。

虛擬主機風格格式爲: https://<bucket名稱>.s3.api.upyun.com/<Object存儲路徑>。

S3 協議使用示例

在瞭解了 S3 API 的基本信息後,下面我就 S3 API 使用做個簡單示例。

WinScp(Windows用戶)

  1. 下載 WinSCP。

  2. 打開程序,新建會話。

83553e163e1edeb0ff153b3901306014.png

文件協議:Amazon S3

主機名:s3.api.upyun.com

端口:默認(443)

訪問密鑰: 從雲存儲控制檯中獲取,對應 AccessKey。

私密訪問密鑰:從雲存儲控制檯中獲取,對應 SecretKey。

  1. 連接成功,進入配置管理界面。

a8c32d6b0706bce069cd90d0f1160779.png

Cyberduck(windows、Mac用戶)

1. Cyberduck 客戶端下載。
2. 打開客戶端,選擇新建連接。

5704116c89717fbeb90792aef11078a7.png

文件協議:Amazon S3

服務器:s3.api.upyun.com

端口:默認(443)

訪問密鑰 ID: 從雲存儲控制檯中獲取,對應 AccessKey。

訪問私鑰:從雲存儲控制檯中獲取,對應 SecretKey。

  1. 連接成功,進入管理配置頁面,操作和 FTP 客戶端大同小異。

e53594487b95c2f4849c8087b5334abf.png

Postman(API開發者)

1. 以獲取 testautomata 存儲根目錄列表爲例,打開 Postman 後,配置請求地址與請求參數。

f63f84107f7093704b004645affdcd50.png

依照 List Objects 的 API 文檔組織請求方法、請求地址與請求參數,各參數釋義參考又拍雲存儲 S3 協議文檔。

請求方法:GET

URL地址:https://testautomata.s3.api.upyun.com/?list-type=2&delimiter=/

  1. 配置 API 接口鑑權,Postman 內置 S3 鑑權,可在 Authorization 選項卡下進行配置。

8109820d9167fa1fc72078d1c12bba97.png

type:選擇 AWS Signature

AccessKey:從雲存儲控制檯中獲取

SecretKey:從雲存儲控制檯中獲取

Service Name:s3

  1. 發起請求,獲取存儲列表數據。

1bc8ab77a46319447d6bda0522ab2f7e.png
目前又拍雲存儲在控制檯上已開放 S3 協議的統一配置獲取,您可以使用任何兼容 S3 的工具來操作又拍雲存儲,還不趕緊來試試~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章