手把手教你使用 QingStor 物件儲存

arron劉發表於2016-09-20

QingStor? 物件儲存為使用者提供可無限擴充套件的通用資料儲存服務,具有安全可靠、簡單易用、高效能、低成本等特點。

在大量公有云使用者多樣化的應用場景中,QingStor? 物件儲存在效能(高併發)、可用性、穩定性等方面得到了充分的驗證。同時,QingStor? 物件儲存已經在借貸寶、泰康人壽等多套私有云生產環境中部署上線,承擔了重要的儲存引擎角色,為客戶的網際網路業務提供強大助力。

現在 QingCloud 使用者可以在控制檯選擇北京 3 區(PEK3),透過圖形化介面來建立儲存空間( Bucket ) 並上傳檔案,同時我們推薦大家透過 API、SDK 以及命令列工具來管理和使用 QingStorTM 物件儲存,下文會有具體介紹。

PS:QingStorTM 物件儲存目前為使用者提供 12 個月免費套餐,歡迎註冊體驗。

一、控制檯圖形化操作

1.建立 BUCKET

使用者登入控制檯,選擇北京 3 區,就可以在 Bucket 列表頁點選“新建 Bucket”按鈕,建立一個新的 Bucket。

由於 Bucket 名稱是 URL 域名的一部分,因此需要遵循標準 URL 域名規範:只包含字母、數字、中劃線,以字母開始,以字母或數字結尾。建立時請注意長度範圍是 6 - 63,另外 Bucket 是全域性唯一的,如果提交已存在的名稱,則提示建立失敗。

註解:新建的 Bucket 是私有的,如果想公開這個 Bucket 的許可權,可以在建立後設定。

2.修改 BUCKET 許可權

物件儲存的 Bucket 資訊、檔案訪問受到許可權控制。在控制檯中可以給 Bucket 設定 3 種級別的許可權:

  • 私有: 該 Bucket 及其檔案相關的所有 API 介面只能被建立者訪問,如果想給特定使用者賦予 API 介面訪問許可權,需要建立者呼叫 PUT Bucket ACL 介面進行設定。

  • 公開只讀: 所有人都可以訪問 Bucket 及其檔案相關的 GET/HEAD 等型別 API 介面。

  • 公開讀寫: 所有人都可以訪問 Bucket 及其檔案相關的所有 API 介面。

註解:如果想指定特定使用者的訪問許可權,可以呼叫 ACL 的 POST API 來設定。

如果一個 Bucket 不再需要,使用者可以刪除 Bucket。刪除 Bucket 之前,需要首先清空所有的檔案和資料夾,且一經刪除無法恢復。

3.建立刪除資料夾

資料夾是特殊的檔案,它的名稱也是 API 中 URL 的一部分,因此需要遵循 URL 的 pathname 部分的命名規範。

如果資料夾上傳了檔案,那麼資料夾不能直接刪除。使用者需要將資料夾中的檔案都刪除後,再刪除資料夾。

4.檔案儲存與管理

上傳檔案

使用者可以在控制檯向一個 Bucket 或一個資料夾上傳檔案。上傳檔案時可以單選或多選檔案,每次選擇檔案限制在 10 個。如果要上傳的檔名已經存在,上傳列表中會提示,上傳行為仍然繼續,並覆蓋已存在的檔案。

上傳中的檔案顯示上傳的速度、進度,使用者可以取消一個上傳中的檔案。檔案上傳完成之後,在列表中保持一段時間後消失。可以在上傳列表中右鍵刪除一個檔案記錄,或者清空所有檔案記錄。檔案上傳的過程中,可以關閉上傳視窗,再次點選上傳檔案按鈕時,會開啟當前上傳的檔案進度。

註解:控制檯限制了上傳單個檔案的大小,超過 1GB 的檔案,建議使用 API 或 SDK 來上傳。

下載檔案

使用者可以在控制檯下載檔案,無論檔案所屬的 Bucket 是私有還是公開訪問的。如果 Bucket 公開了讀許可權,使用者可以從控制檯得到檔案可訪問的 URL,並將 URL 分享給其他人。如果在控制檯下載檔案,完成下載後,檔案儲存在瀏覽器設定的下載儲存目錄。使用者也可以透過 API 或 SDK 下載檔案,具體辦法請點選閱讀原文。

刪除檔案

與刪除資料夾類似,刪除檔案後無法恢復,因此需要謹慎執行該操作。檔案可以批次刪除,選擇多個檔案,在更多操作中選擇刪除即可。

複製和剪下檔案

  • 單個檔案的複製和剪下: 右鍵點選檔案,選擇複製或剪下,移動到目標 Bucket 或者資料夾下,在更多操作中選擇貼上。

  • 多個檔案的複製和剪下: 勾選要複製或者剪下的檔案,在更多操作中選擇複製或者剪下,移動到目標 Bucket 或者資料夾下,在更多操作中選擇貼上。

註解:暫時不支援資料夾的複製和剪下。複製操作可以執行多次,剪下操作只能執行一次。複製和剪下都會覆蓋目標路徑下的同名檔案。

5.BUCKET 監控

Bucket 的監控項分為 3 大類:流量、儲存、API,每一類的監控內容說明如下:

流量

  • 外網出流量:從公網下載 Bucket 中的檔案所產生的流量。

  • 外網進流量:從公網上傳檔案到 Bucket 所產生的流量。

  • Zone 內出流量:從青雲平臺與 Bucket 相同區域的資源下載 Bucket 檔案所產生的流量。

  • Zone 內進流量:從青雲平臺與 Bucket 相同區域上傳檔案到 Bucket 所產生的流量。

儲存

  • 儲存空間:Bucket 所有檔案佔用的儲存空間大小。

API

  • 外網讀請求:從公網呼叫該 Bucket 讀相關的 API 的次數,如 HEAD/GET。

  • 外網寫請求:從公網呼叫該 Bucket 寫相關的 API 的次數,如 PUT/DELETE。

  • Zone 內讀請求:從青雲平臺與 Bucket 相同區域呼叫該 Bucket 讀相關的 API 的次數。

  • Zone 內寫請求:從青雲平臺與 Bucket 相同區域用該 Bucket 寫相關的 API 的次數。

每類監控項可分別查詢最近一天、最近一個月、最近 6 個月的監控資訊。用曲線圖來展示時間區間內的變化值,並將監控點的具體數值呈現在表格中。監控項可以在頁面右側選擇切換。

二、QingCloud SDK 操作

QingStor? SDK Python 包含在 QingCloud SDK Python 之中,使用 qingcloud-sdk 前請先在控制檯申請 access key,申請後便可以自由使用了。

建立連線

發起請求前首先建立連線:

>>> import qingcloud.qingstor >>> conn = qingcloud.qingstor.connect('pek3a.qingstor.com', 'access key id', 'secret access key') 

上面程式碼中得到的 conn 是 QSConnection 的例項,在接下來的教程中會繼續用它建立 Bucket 物件和初始化 multipart 上傳。

建立儲存空間

建立儲存空間, 需要指定空間名稱:

>>> bucket = conn.create_bucket('mybucket') 

此時得到的 Bucket 例項將被後續用來建立 key 物件,用以操作儲存空間中的物件。

建立物件

使用 Bucket 例項建立一個 Object 物件:

>>> key = bucket.new_key('myobject') 

此時得到的 key 例項代表一個物件,我們接下來將用它上傳一個檔案到儲存空間。

>>> with open('/tmp/myfile') as f: >>> key.send_file(f) 

刪除物件

刪除儲存空間中的物件:

>>> bucket.delete_key('myobject') 

三、QingCloud CLI 操作

QingStor? 物件儲存命令列工具 (Command Line Interface) 是與QingStor? 物件儲存服務互動的命令列介面,透過命令列可以完成和使用物件儲存 API 一樣的操作。

註解:使用 qingcloud-cli 必需一個配置檔案,配置自身的 qy_access_key_id 和 qy_secret_access_key 以及 zone 。比如:

 >>>qy_access_key_id: 'QINGCLOUDACCESSKEYID' >>>qy_secret_access_key: 'QINGCLOUDSECRETACCESSKEYEXAMPLE' >>>zone: 'pek3a' 

配置檔案預設放在 ~/.qingcloud/config.yaml ,也可在每次執行命令時以引數 -f /path/to/config 方式來指定。

使用 QingCloud CLI 操作QingStor? 物件儲存非常簡單,建立/刪除 Bucket 可以使用:

 >>> qingcloud qs create-bucket <bucket_name>
 >>> qingcloud qs delete-bucket <bucket_name> 

PS:QingStorTM 物件儲存目前為使用者提供 12 個月免費套餐,歡迎大家註冊體驗。

點選建立你的第一個 QingStor Bucket 吧。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26916835/viewspace-2125185/,如需轉載,請註明出處,否則將追究法律責任。

相關文章