在用 Python 編寫 AWS 服務時,要用到 Boto 3 組件,而像 boto3.client('s3') 獲得的對象只能被 IDE 識別爲一個 BaseClient, 具體包含什麼操作方法是在運行時由參數 s3
指示的基於 JSON 文件所描述的。因此 IDE 對 s3 = boto3.client('s3')
的 s3
對象無法提供有效的智能提示,每次用 Boto 3 時不得不打開 Boto 3 的在線 API 文檔來對照。長此以往,總覺麻煩且效率低下,有種一直摸着石頭過河的感覺。那麼,是否有辦法讓 IDE 智能提示出各種 boto3.client('<service>') 的實際操作呢?網上找了找,確實有這個需求,解決辦法有
- botostubs: 與 boto3 API 保持更新(每三天),並支持衆多 IDE, 試過在 IntelliJ IDEA 和 Visual Studio Code 中可用
- pyboto3: 上次更新在兩年前, https://github.com/wavycloud/pyboto3, 只在 Python 2.7 下測試過
- autoboto: 需有智能提示,但改變了應用 Boto 3 組件的方式,不建議使用
本文重點推薦 botostubs, 下面會敘說具體理由,在進入正是之前,不妨來回顧一下直接使用 Boto 3 時沒有好的智能提示的問題 閱讀全文 >>