當前位置:成語大全網 - 書法字典 - 如何用七牛Python SDK寫同步腳本並制作

如何用七牛Python SDK寫同步腳本並制作

七牛雲存儲的Python語言版本SDK(以下簡稱Python-SDK)是對七牛雲存儲API協議的壹種層封裝,為Python開發者提供壹套簡單易用的開發工具。Python開發者在對接Python-SDK時不需要了解七牛雲存儲API協議的細節,也不需要從原理上對HTTP協議和原理有很深的理解,但是如果有基本的HTTP知識,就可以更高效的處理錯誤場景。

我最近剛剛建立了壹個markdown靜態博客,想把圖片放在雲存儲中。

經過調查,我認為奇牛可以滿足我的個人需求,所以選擇了它。

引用壹張圖片,妳得先上傳到雲端。

雖然可以在奇牛網站後臺上傳文件,但是需要先登錄,然後選擇壹張圖片,設置好連接地址,才能上傳。

這個過程有點繁瑣,所以想用七牛雲提供的SDK寫壹個同步工具,方便文件的增量同步。

有了這個想法,馬上行動。大概花了壹個上午的時間,終於寫出了這個工具,放到了GitOSC和github上。

1234567891011121314151617181920212223242526272829303132333435363738 3940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959 6979899100101102103104105106107108109110111165438 +02113114115116117118119#!/usr/bin/env python#-*-編碼:utf-8-*-# # AUTHOR = " Heqing pan " # AUTHOR _ EMAIL = " Heqing pan @ 126 . com " # URL = "/qiniu/python-SDK?。

安裝方法可以如項目說明中所述,使用pip安裝qiniu。當然,妳也可以直接克隆壹個源代碼,直接使用。我壹般喜歡直接克隆源代碼,所以對SDK做壹些改動是非常容易的。

Python SDK的最新版本需要依賴於請求庫,所以應該提前安裝。當然,安裝方法也可以使用pip安裝請求。

開發環境

Python開發環境有很多選擇。如果妳喜歡文字,比如vim,emacs,sublime text等。,是個不錯的選擇。如果妳喜歡IDE,最受歡迎的是PyCharm。PyCharm的最新版本是什麽?在這裏下載。

訪問密鑰和秘密密鑰

我們知道七牛雲存儲的權限驗證機制是基於壹對密鑰,分別叫做訪問密鑰和秘密密鑰。其中訪問密鑰是公鑰,秘密密鑰是私鑰。這對鑰匙可以從奇牛後臺獲得。

試身手

好了,做好以上準備,我們就上傳壹個簡單的文件,練練手。

1234 python # coding = UTF-8 _ _ author _ = ' JEMY ' ' '這個例子演示了壹個簡單的文件上傳。

在這個例子中,sdk根據文件的大小選擇是以表格形式上傳還是分段上傳。

123456789101121314151617181920212223242526272828您訪問密鑰>secretKey = " & lt您秘密密鑰>#解析結果定義parseRet(retData,respInfo):?如果retData!=無:?打印("上傳文件成功!")?print("Hash: " + retData["hash"])?print("Key: " + retData["key"])?#檢查擴展參數?對於retData.items()中的k,v:?如果k[:2] == "x:":?打印(k + ":" + v)?#檢查其他參數?對於retData.items()中的k,v:?如果k[:2] == "x:"或者k == "hash "或者k == "key ":?繼續嗎?否則:?print(k + ":" + str(v))?否則:?print("上傳文件失敗!")?print(" error:"+resp info . text _ body)#沒有上傳key,http請求中沒有指定key參數def upload _ without _ key (bucket,文件路徑:?#生成上傳憑證?auth = qiniu。Auth(accessKey,secretKey)?up token = auth . upload _ token(bucket,key=None)?#上傳文件?retData,resp info = qi Niu . put _ file(up token,None,filePath)?#解析結果?parseRet(retData,respInfo)def main():?bucket = "if-pbl "?file path = "/Users/jemy/Documents/jemy . png "?upload_without_key(bucket,filePath)if __name__ == "__main__ ":?main()的運行結果是:

上傳文件成功!

哈希:Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

key:FP 0 xr 6 TM 4 yzmeikxw 7 ezzmeyysq 8

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

1.生成上傳憑證

上傳文件

3.分析回復結果