通過Python來使用七牛雲端儲存的方法詳解

來源:互聯網
上載者:User
本教程旨在介紹如何使用七牛的Python SDK來快速地進行檔案上傳,下載,處理,管理等工作。
安裝

首先,要使用Python的SDK必須要先安裝。七牛的Python SDK是開源的,託管在Github上面,項目地址為https://github.com/qiniu/python-sdk。

安裝的方式可以如項目的說明上所說,用pip install qiniu。當然也可以直接clone一份原始碼下來直接使用。我一般喜歡直接clone原始碼,這樣的話,如果要對SDK做一些改動也是十分容易的。

最新版本的Python SDK需要依賴requests庫,所以要提前安裝好。安裝方式當然也可以用pip install requests。
開發環境

Python的開發環境有很多種選擇,如果喜歡文本的方式,比如vim,emacs,sublime text等都是很好的選擇,如果你喜歡IDE,那麼最流行的莫過於PyCharm了。PyCharm的最新版本到這裡下載。
Access Key和Secret Key

我們知道七牛雲端儲存的許可權校正機制基於一對密鑰,分別稱為Access Key和Secret Key。其中Access Key是公開金鑰,Secret Key是私密金鑰。這一對密鑰可以從七牛的後台擷取。

小試牛刀

好了,做了上面的這些準備工作,我們就去上傳一個簡單的檔案,練練手。

#coding=utf-8__author__ = 'jemy''''本例示範了一個簡單的檔案上傳。這個例子裡面,sdk根據檔案的大小選擇是Form方式上傳還是分區上傳。'''import qiniuaccessKey = ""secretKey = ""#解析結果def parseRet(retData, respInfo):  if retData != None:    print("Upload file success!")    print("Hash: " + retData["hash"])    print("Key: " + retData["key"])    #檢查擴充參數    for k, v in retData.items():      if k[:2] == "x:":        print(k + ":" + v)    #檢查其他參數    for k, v in retData.items():      if k[:2] == "x:" or k == "hash" or k == "key":        continue      else:        print(k + ":" + str(v))  else:    print("Upload file failed!")    print("Error: " + respInfo.text_body)#無key上傳,http請求中不指定key參數def upload_without_key(bucket, filePath):  #產生上傳憑證  auth = qiniu.Auth(accessKey, secretKey)  upToken = auth.upload_token(bucket, key=None)  #上傳檔案  retData, respInfo = qiniu.put_file(upToken, None, filePath)  #解析結果  parseRet(retData, respInfo)def main():  bucket = "if-pbl"  filePath = "/Users/jemy/Documents/jemy.png"  upload_without_key(bucket, filePath)if __name__ == "__main__":  main()

運行結果為:

Upload file success!Hash: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8Key: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

從上面我們可以看到,使用七牛的Python SDK上傳檔案的最基本的步驟是:

  • 產生上傳憑證
  • 上傳檔案
  • 解析回複結果

小結

綜上所述,其實使用七牛的SDK來上傳檔案還是很簡單的,接下來的教程,我們將在這個例子的基礎上逐步瞭解更多關於檔案上傳的知識。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.