Obwohl die AWS CLI eine großartige Ressource zur Verwaltung Ihrer AWS-basierten Dienste ist, ist es schwierig, sich an die Verwendung von Folgendem zu erinnern :
SAWS
zielt darauf ab, die AWS CLI mit Funktionen zu erweitern , die sich auf Folgendes konzentrieren:
Unter der Haube wird SAWS
von der AWS CLI betrieben und unterstützt dieselben Befehle und Befehlsstrukturen .
SAWS
und AWS CLI
Nutzung:
aws [parameters] [options]
SAWS
Funktionen:
SAWS
ist für Mac, Linux, Unix und Windows verfügbar.
Sie können steuern, welches Design für die Syntaxhervorhebung geladen werden soll, indem Sie Ihre ~/.sawsrc-Datei aktualisieren:
# 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
bietet eine intelligente automatische Vervollständigung während der Eingabe. Durch die Eingabe des folgenden Befehls werden alle nur für ec2
spezifischen Unterbefehle interaktiv aufgelistet und automatisch vervollständigt:
aws ec2
Zusätzlich zu den Standardbefehlen, Unterbefehlen und Optionen, die die AWS CLI bereitstellt, unterstützt SAWS
die automatische Vervollständigung Ihrer AWS-Ressourcen. Derzeit sind Bucket-Namen, Instanz-IDs und Instanz-Tags enthalten, mit zusätzlicher Unterstützung für weitere Ressourcen in der Entwicklung.
Option für s3api
:
--bucket
Beispielverwendung:
aws s3api get-bucket-acl --bucket
Syntax für s3
:
s3://
Beispielverwendung:
aws s3 ls s3://
Hinweis: Das folgende Beispiel veranschaulicht die Verwendung der Fuzzy-Ressourcenvervollständigung:
Option für ec2
:
--instance-ids
Beispielverwendung:
aws ec2 describe-instances --instance-ids
aws ec2 ls --instance-ids
Hinweis: Der Befehl ls
demonstriert die Verwendung anpassbarer Tastenkombinationen:
Option für ec2
:
--ec2-tag-key
--ec2-tag-value
Beispielverwendung:
aws ec2 ls --ec2-tag-key
aws ec2 ls --ec2-tag-value
Tags unterstützen Platzhalter mit dem Zeichen *
.
Hinweis: ls
, --ec2-tag-value
und --ec2-tag-key
demonstrieren die Verwendung anpassbarer Tastenkombinationen:
Wenn Sie Unterstützung für zusätzliche Ressourcen benötigen, können Sie gerne ein Problem oder eine Pull-Anfrage einreichen.
Die Datei ~/.saws.shortcuts enthält Verknüpfungen, die Sie ändern können. Es ist bereits mit mehreren praktischen Verknüpfungen ausgestattet. Für noch weniger Tastenanschläge können Sie Tastenkombinationen mit Fuzzy-Vervollständigung kombinieren. Nachfolgend finden Sie einige Beispiele.
Listen Sie alle EC2-Instanzen auf:
aws ec2 ls
Listen Sie alle laufenden EC2-Instanzen auf:
aws ec2 ls --ec2-state running # fuzzy shortcut: aws ecstate
Listen Sie alle EC2-Instanzen mit einem passenden Tag auf (unterstützt Platzhalter *
):
aws ec2 ls --ec2-tag-key # fuzzy shortcut: aws ectagk
aws ec2 ls --ec2-tag-value # fuzzy shortcut: aws ectagv
EC2-Instanz mit passender ID auflisten:
aws ec2 ls --instance-ids # fuzzy shortcut: aws eclsi
Listen Sie alle DynamoDB-Tabellen auf:
aws dynamodb ls # fuzzy shortcut: aws dls
Listen Sie alle EMR-Cluster auf:
aws emr ls # fuzzy shortcut: aws emls
Fügen Sie Verknüpfungen in Ihrer ~/.saws.shortcuts-Datei hinzu, entfernen Sie sie und ändern Sie sie entsprechend Ihren Anforderungen.
Schicken Sie uns gerne:
Um die Fuzzy-Vervollständigung von AWS-Ressourcen und -Verknüpfungen umzuschalten, verwenden Sie die Taste F3
.
Beispiel für Fuzzy-Verknüpfungen zum Starten und Stoppen von EC2-Instanzen:
aws ecstop
aws ecstart
Hinweis: Die Fuzzy-Vervollständigung funktioniert derzeit nur mit AWS-Ressourcen und -Verknüpfungen.
SAWS
unterstützt automatische Vorschläge im Fish-Stil. Verwenden Sie die right arrow
um einen Vorschlag zu vervollständigen.
SAWS
können Sie Shell-Befehle über die Eingabeaufforderung saws>
ausführen.
SAWS
verfolgt die von Ihnen eingegebenen Befehle und speichert sie in ~/.saws-history
. Verwenden Sie die Aufwärts- und Abwärtspfeiltasten, um durch den Befehlsverlauf zu blättern.
SAWS
unterstützt kontextbezogene help
und kontextbezogene docs
.
Der help
wird von der AWS CLI unterstützt und gibt Hilfe in der Befehlszeile aus.
Verwendung:
aws help
Manchmal sind Sie nicht ganz sicher, welche spezifische Befehls-/Unterbefehls-/Optionskombination Sie verwenden müssen. In solchen Fällen ist das Durchsuchen mehrerer Kombinationen mit der help
umständlicher als das Durchsuchen der Online-AWS CLI-Dokumente über einen Webbrowser.
SAWS
unterstützt kontextbezogene Webdokumente mit dem Befehl docs
oder der Taste F9
. SAWS
zeigt die Webdokumente an, die für den aktuell eingegebenen Befehl und Unterbefehl spezifisch sind.
Verwendung:
aws docs
SAWS
unterstützt eine Reihe von Symbolleistenoptionen:
F2
schaltet die Hervorhebung der Ausgabesyntax umF3
schaltet die Fuzzy-Vervollständigung von AWS-Ressourcen und -Verknüpfungen umF4
schaltet die Fertigstellung von Verknüpfungen umF5
aktualisiert Ressourcen für die automatische VervollständigungF9
zeigt die kontextbezogenen Webdokumente anF10
oder control d
beendet SAWS
SAWS
wurde unter Windows 7 und Windows 10 getestet.
Unter Windows befindet sich die .sawsrc-Datei in %userprofile%
. Zum Beispiel:
C:Usersdmartin.sawsrc
Obwohl Sie die Standard-Windows-Eingabeaufforderung verwenden können, werden Sie wahrscheinlich mit cmder oder conemu ein besseres Erlebnis haben.
SAWS
wird auf PyPI gehostet. Der folgende Befehl installiert SAWS
zusammen mit Abhängigkeiten wie der AWS CLI:
$ pip install saws
Sie können auch die neuesten SAWS
von der GitHub-Quelle installieren, die Änderungen enthalten können, die noch nicht an PyPI übertragen wurden:
$ pip install git+https://github.com/donnemartin/saws.git
Wenn Sie nicht in einer virtuellen Umgebung installieren, führen Sie es mit sudo
aus:
$ sudo pip install saws
Nach der Installation SAWS
starten:
$ saws
Es wird empfohlen, Python-Pakete in einer virtuellen Umgebung zu installieren, um potenzielle Probleme mit Abhängigkeiten oder Berechtigungen zu vermeiden.
Klicken Sie hier, um die Installationsanweisungen SAWS
virtualenv
und Docker anzuzeigen.
Es gibt ein bekanntes Problem mit Apple und seinen enthaltenen Python-Paketabhängigkeiten (weitere Informationen unter pypa/pip#3165). Wir suchen nach Möglichkeiten, dieses Problem zu beheben. In der Zwischenzeit können Sie zum Installieren von Sägen Folgendes ausführen:
$ sudo pip install saws --upgrade --ignore-installed six
Konfigurieren Sie Ihre Anmeldeinformationen mit der AWS CLI:
$ aws configure
Wenn Sie ein bestimmtes benanntes Profil mit SAWS
verwenden möchten, führen Sie die folgenden Befehle unter OS X, Linux oder Unix aus:
$ export AWS_DEFAULT_PROFILE=user1
$ saws
Oder als Einzeiler:
$ AWS_DEFAULT_PROFILE=user1 saws
Windows-Benutzer können die folgenden Befehle ausführen:
> set AWS_DEFAULT_PROFILE=user1
> saws
Befehlszeilenoptionen zum Starten SAWS
mit einem bestimmten Profil sind in der Entwicklung. Weitere Informationen zur Installation und Konfiguration der AWS CLI finden Sie in der folgenden Dokumentation.
Leichte Tests deuten darauf hin, dass SAWS
auch mit Python 3.5 kompatibel zu sein scheint.
Pypy3 wird aufgrund fehlender Unterstützung von boto nicht unterstützt.
Wenn Sie daran interessiert sind, einen Beitrag zu SAWS
zu leisten, führen Sie die folgenden Befehle aus:
$ git clone https://github.com/donnemartin/saws.git
$ pip install -e .
$ pip install -r requirements-dev.txt
$ saws
Einzelheiten zur kontinuierlichen Integration finden Sie auf Travis CI.
Details zur Abhängigkeitsverwaltung finden Sie auf Gemnasium.
Führen Sie Unit-Tests in Ihrer aktiven Python-Umgebung aus:
$ python tests/run_tests.py
Führen Sie Unit-Tests mit tox in mehreren Python-Umgebungen aus:
$ tox
Die Quellcode-Dokumentation ist auf Readthedocs.org verfügbar.
Führen Sie Folgendes aus, um die Dokumente zu erstellen:
$ scripts/update_docs.sh
Beiträge sind willkommen!
Sehen Sie sich die Beitragsrichtlinien an, um Einzelheiten dazu zu erfahren:
SAWS
unter der HaubeSAWS
SAWS
und für einige praktische Hilfsfunktionen Sie können mich gerne kontaktieren, um Probleme, Fragen oder Kommentare zu besprechen.
Ich stelle Ihnen Code und Ressourcen in diesem Repository unter einer Open-Source-Lizenz zur Verfügung. Da es sich um mein persönliches Repository handelt, stammt die Lizenz, die Sie für meinen Code und meine Ressourcen erhalten, von mir und nicht von meinem Arbeitgeber (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.