儘管 AWS CLI 是管理 AWS 支援的服務的絕佳資源,但很難記住以下內容的用法:
SAWS
旨在透過以下功能增強AWS CLI:
在底層, SAWS
由 AWS CLI 提供支持,並支援相同的命令和命令結構。
SAWS
和AWS CLI
用法:
aws [parameters] [options]
SAWS
特點:
SAWS
適用於 Mac、Linux、Unix 和 Windows。
您可以透過更新 ~/.sawsrc 檔案來控制載入哪個主題以進行語法突出顯示:
# Visual theme. Possible values: manni, igor, xcode, vim, autumn, vs, rrt,
# native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark,
# colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity
theme = vim
SAWS
在您鍵入時提供智慧型自動完成功能。輸入以下命令將以互動方式列出並自動完成僅特定於ec2
所有子命令:
aws ec2
除了 AWS CLI 提供的預設命令、子命令和選項之外, SAWS
還支援自動完成 AWS 資源。目前,包括儲存桶名稱、實例 ID 和實例標籤,並為更多正在開發的資源提供額外支援。
s3api
的選項:
--bucket
用法範例:
aws s3api get-bucket-acl --bucket
s3
的語法:
s3://
用法範例:
aws s3 ls s3://
注意:下面的範例示範了模糊資源補全的使用:
ec2
的選項:
--instance-ids
用法範例:
aws ec2 describe-instances --instance-ids
aws ec2 ls --instance-ids
注意: ls
指令示範了可自訂快速鍵的使用:
ec2
的選項:
--ec2-tag-key
--ec2-tag-value
用法範例:
aws ec2 ls --ec2-tag-key
aws ec2 ls --ec2-tag-value
標籤支援帶有*
字元的通配符。
注意: ls
、 --ec2-tag-value
和--ec2-tag-key
演示了可自訂快捷方式的使用:
如果您需要其他資源的支持,請隨時提交問題或拉取請求。
~/.saws.shortcuts 檔案包含您可以修改的捷徑。它預先填滿了幾個開箱即用的方便快捷方式。您可以將快捷鍵與模糊完成結合起來,以減少按鍵次數。下面是一些例子。
列出所有 EC2 執行個體:
aws ec2 ls
列出所有正在運行的 EC2 執行個體:
aws ec2 ls --ec2-state running # fuzzy shortcut: aws ecstate
列出所有具有符合標籤的 EC2 執行個體(支援通配符*
):
aws ec2 ls --ec2-tag-key # fuzzy shortcut: aws ectagk
aws ec2 ls --ec2-tag-value # fuzzy shortcut: aws ectagv
列出具有匹配 ID 的 EC2 執行個體:
aws ec2 ls --instance-ids # fuzzy shortcut: aws eclsi
列出所有 DynamoDB 表格:
aws dynamodb ls # fuzzy shortcut: aws dls
列出所有 EMR 群集:
aws emr ls # fuzzy shortcut: aws emls
在 ~/.saws.shortcuts 檔案中新增/刪除/修改捷徑以滿足您的需求。
請隨意提交:
若要切換 AWS 資源和捷徑的模糊完成,請使用F3
鍵。
用於啟動和停止 EC2 執行個體的模糊快捷方式範例:
aws ecstop
aws ecstart
注意:模糊補全目前僅適用於 AWS 資源和捷徑。
SAWS
支援 Fish 式自動建議。使用right arrow
鍵完成建議。
SAWS
允許您從saws>
提示字元執行 shell 命令。
SAWS
會追蹤您輸入的命令並將其儲存在~/.saws-history
中。使用向上和向下箭頭鍵循環瀏覽命令歷史記錄。
SAWS
支援上下文命令列help
和上下文 Web docs
。
help
命令由 AWS CLI 提供支持,並在命令列中輸出幫助。
用法:
aws help
有時您不太確定需要使用什麼特定命令/子命令/選項組合。在這種情況下,與透過 Web 瀏覽器瀏覽線上 AWS CLI 文件相比,使用help
命令列瀏覽多種組合會很麻煩。
SAWS
使用docs
指令或F9
鍵支援上下文 Web 文件。 SAWS
將顯示特定於目前輸入的命令和子命令的 Web 文件。
用法:
aws docs
SAWS
支援許多工具列選項:
F2
切換輸出語法突出顯示F3
切換AWS資源和快捷方式的模糊補全F4
切換快速鍵的完成F5
刷新資源以自動完成F9
顯示上下文 Web 文檔F10
或control d
退出SAWS
SAWS
已在 Windows 7 和 Windows 10 上進行了測試。
在 Windows 上,.sawsrc 檔案可以在%userprofile%
中找到。例如:
C:Usersdmartin.sawsrc
儘管您可以使用標準 Windows 命令提示符,但使用 cmder 或 conemu 可能會獲得更好的體驗。
SAWS
託管在 PyPI 上。以下命令將安裝SAWS
以及 AWS CLI 等相依性:
$ pip install saws
您也可以從 GitHub 來源安裝最新的SAWS
,其中可能包含尚未推送到 PyPI 的變更:
$ pip install git+https://github.com/donnemartin/saws.git
如果您沒有在 virtualenv 中安裝,請使用sudo
執行:
$ sudo pip install saws
安裝後,啟動SAWS
:
$ saws
建議您在 virtualenv 中安裝 Python 套件,以避免潛在的依賴項或權限問題。
若要查看SAWS
virtualenv
和 Docker 安裝說明,請按一下此處。
Apple 及其包含的 python 套件相依性有已知問題(更多資訊請參閱 pypa/pip#3165)。我們正在研究解決此問題的方法,但同時,要安裝鋸,您可以運行:
$ sudo pip install saws --upgrade --ignore-installed six
使用 AWS CLI 設定您的憑證:
$ aws configure
如果您想在SAWS
中使用特定的命名設定文件,請在 OS X、Linux 或 Unix 上執行下列命令:
$ export AWS_DEFAULT_PROFILE=user1
$ saws
或作為一句單行:
$ AWS_DEFAULT_PROFILE=user1 saws
Windows 使用者可以執行以下命令:
> set AWS_DEFAULT_PROFILE=user1
> saws
用於使用特定設定檔啟動SAWS
命令列選項正在開發中。有關如何安裝和配置 AWS CLI 的更多詳細信息,請參閱以下文件。
輕微測試顯示SAWS
似乎也與 Python 3.5 相容。
由於缺乏 boto 的支持,Pypy3 不受支持。
如果您有興趣為SAWS
做出貢獻,請執行以下命令:
$ git clone https://github.com/donnemartin/saws.git
$ pip install -e .
$ pip install -r requirements-dev.txt
$ saws
Travis CI 上提供了持續整合詳細資訊。
Gemnasium 上提供了依賴關係管理詳細資訊。
在活動的 Python 環境中執行單元測試:
$ python tests/run_tests.py
在多個 Python 環境中使用 tox 執行單元測試:
$ tox
原始碼文件可在 Readthedocs.org 上找到。
執行以下命令來建置文件:
$ scripts/update_docs.sh
歡迎貢獻!
請查看貢獻指南,以了解有關如何執行以下操作的詳細資訊:
SAWS
提供支持SAWS
的創建SAWS
的創建並提供了一些方便的實用功能請隨時與我聯繫討論任何問題、疑問或意見。
我根據開源許可證向您提供此儲存庫中的程式碼和資源。因為這是我的個人儲存庫,所以您收到的我的程式碼和資源的許可證來自我,而不是我的雇主 (Facebook)。
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.