[toc]
)。
使用python sdk編寫腳本上傳100個小檔案(1m-32m),上傳10個大檔案(1g-5g)
使用python sdk編寫腳本查詢上傳後的vault資訊
使用python sdk編寫腳本下載下傳所有的上傳檔案
使用python sdk編寫腳本删除已上傳的所有檔案
進階接口是對低級接口的封裝,降低了使用者的學習量,提高開發效率,而且代碼也比低級接口更加清晰,是以官方建議一般使用者都使用進階接口,在極個别進階接口不太靈活操作的地方使用低級接口。
本文所有代碼均基于python sdk的進階接口編寫。
根據使用需求,我需要準備好待上傳的檔案以及配置。
寫個函數生成需要的檔案:
使用一個簡單的配置檔案來存放配置,然後讀取這個配置檔案:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZlBnauUWMmFGZ1gDZ3ATYhZWNjV2N4ETOlNmZmRmNxITOwQjY5IWOjBTZ0gzLcNXZslmZxl3Lc12bj5ycj5Wd5lGbh5Sdvhmen5WYo1ibj1ycz92Lc9CX6MHc0RHaiojIsJye.jpeg)
使用下面代碼讀取配置:
python sdk的進階接口抽象出來幾個重要的對象:vault、uploader和job。使用這三個對象基本可以完成常見的工作。實際上,vault是所有操作的入口,更加直接的說法,我們在使用python sdk的時候,隻需要import兩個包:
其中uploader和job對象在vault的類方法中生成。
建立vault:
上傳archive:
下載下傳 archive:
初始化multipart upload
下面使用這些對象和方法完成需求工作。
<code>class task</code>有四個方法: <code>upload</code>, <code>download</code>,<code>info</code>, <code>delete</code>, 分别完成上傳、下載下傳、查詢和删除工作。
<code>download</code>将上傳成功的檔案下載下傳至另外一個目錄。
<code>info</code>使用retrieve_inventory來查詢資訊。
<code>delete</code>将已上傳的所有檔案删除。
注意:
由于oas的中繼資料資訊并非是實時更新,而且job排程是異步的,是以整個程式不會馬上傳回,可能會長時間阻塞,是以建議将程式寫成damon。
代碼包含配置檔案(配置host, id以及key等)、生成檔案代碼和oas sdk使用代碼,另外提供了一個python的daemonize函數,使用daemonize函數背景化。腳本會将中間資訊打到日志中。
日志内容:
下載下傳後的檔案:
代碼下載下傳:
在閱讀api使用手冊之後對整個系統的操作有比較清晰認識之後,參考官方文檔的示例代碼和sdk說明文檔,oas服務的使用非常容易上手。