Befehlszeilenoptionen - AWS Command Line Interface

Befehlszeilenoptionen

In der AWS CLI sind Befehlszeilenoptionen globale Parameter, die Sie verwenden können, um die Standardkonfigurationseinstellungen, alle entsprechenden Profileinstellungen oder Umgebungsvariableneinstellungen für diesen einzelnen Befehl zu überschreiben. Sie können mit Befehlszeilenoptionen nicht direkt Anmeldeinformationen angeben. Sie können jedoch angeben, welches Profil verwendet werden soll.

Verwenden von Befehlszeilenoptionen

Die meisten Befehlszeilenoptionen sind einfache Zeichenfolgen, wie der Profilname profile1 im folgenden Beispiel:

$ aws s3 ls --profile profile1 example-bucket-1 example-bucket-2 ...

Bei jeder Option, für die ein Argument angegeben wird, muss das Argument mit einem Leerzeichen oder Gleichheitszeichen (=) vom Namen der Option getrennt werden. Falls es sich bei dem Argumentwert um eine Zeichenfolge mit einem Leerzeichen handelt, muss das Argument in Anführungszeichen gesetzt werden. Weitere Informationen zu Argumenttypen und zur Formatierung für Parameter finden Sie unter Angeben von Parameterwerten für die AWS CLI Allgemeine AWS CLI-Parametertypen.

Von AWS CLI unterstützte globale Befehlszeilenoptionen

In der AWS CLI können Sie die folgenden Befehlszeilenoptionen verwenden, um die Standardkonfigurationseinstellungen, alle entsprechenden Profileinstellungen oder Umgebungsvariableneinstellungen für diesen einzelnen Befehl zu überschreiben.

--ca-bundle <Zeichenfolge>

Gibt das Zertifikatspaket der Zertifizierungsstelle an, das beim Überprüfen von SSL-Zertifikaten verwendet werden soll.

Falls definiert, überschreibt diese Option den Wert für die Profileinstellung ca_bundle und die Umgebungsvariable AWS_CA_BUNDLE.

--cli-auto-prompt

Aktiviert den automatischen Prompt-Modus für einen einzelnen Befehl. Wie die folgenden Beispiele zeigen, können Sie es jederzeit angeben.

$ aws --cli-auto-prompt $ aws dynamodb --cli-auto-prompt $ aws dynamodb describe-table --cli-auto-prompt

Diese Option überschreibt die aws_cli_auto_prompt-Umgebungsvariable und die Profileinstellung cli_auto_prompt.

Weitere Informationen zur Auto-Prompt-Funktion von AWS CLI Version 2 finden Sie unter Aufforderung der AWS CLI zur Eingabe von Befehlen.

--cli-binary-format

Gibt an, wie die AWS CLI Version 2 binäre Eingabeparameter interpretiert. Dabei kann es sich um einen der folgenden Werte handeln:

  • base64 – Dies ist der Standardwert. Ein Eingabeparameter, der als BLOB (Binary Large Object) eingegeben wird, akzeptiert eine base64-kodierte Zeichenfolge. Um echten binären Inhalt zu übergeben, legen Sie den Inhalt in eine Datei und geben den Pfad und den Namen der Datei mit dem Präfix fileb:// als Wert des Parameters an. Um in einer Datei enthaltenen base64-kodierten Text zu übergeben, geben Sie den Pfad und den Namen der Datei mit dem Präfix file:// als Wert des Parameters an.

  • raw-in-base64-out – Bietet Abwärtskompatibilität mit dem Verhalten von AWS CLI Version 1, bei dem binäre Werte buchstäblich übergeben werden müssen.

Dies überschreibt die Dateikonfigurationseinstellung cli_binary_format.

$ aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function \ --invocation-type Event \ --payload '{ "name": "Bob" }' \ response.json

Wenn Sie einen Binärwert in einer Datei mit der Präfixnotation fileb:// referenzieren, erwartet die AWS CLI immer, dass die Datei unformatierten binären Inhalt enthält, und versucht nicht, den Wert zu konvertieren.

Wenn Sie einen binären Wert in einer Datei mithilfe der Präfixnotation file:// referenzieren, behandelt die AWS CLI die Datei entsprechend der aktuellen cli_binary_format-Einstellung. Wenn der Wert dieser Einstellung base64 lautet (der Standardwert, wenn nicht explizit festgelegt), erwartet die AWS CLI, dass die Datei base64-kodierten Text enthält. Wenn der Wert dieser Einstellung raw-in-base64-out lautet, erwartet die AWS CLI, dass die Datei unformatierten binären Inhalt enthält.

--cli-connect-timeout <Ganzzahl>

Gibt die maximale Socket-Verbindungszeit in Sekunden an. Wenn als Wert Null (0) festgelegt ist, wartet der Socket-Verbindungsvorgang unbegrenzt (blockiert) und es erfolgt keine Zeitüberschreitung.

--cli-read-timeout <Ganzzahl>

Gibt die maximale Socket-Lesezeit in Sekunden an. Wenn als Wert Null (0) festgelegt ist, wartet der Socket-Lesevorgang unbegrenzt (blockiert) und es erfolgt keine Zeitüberschreitung.

--color <Zeichenfolge>

Gibt Unterstützung für die Farbausgabe an. Gültige Werte sind on, off und auto. Der Standardwert ist auto.

--debug

Ein boolescher Schalter, der die Debug-Protokollierung ermöglicht. Die AWS CLI stellt standardmäßig bereinigte Informationen zu Erfolgen oder Fehlern bezüglich Befehlsergebnissen in der Befehlsausgabe bereit. Die --debug-Option stellt die vollständigen Python-Protokolle bereit. Dazu gehören zusätzliche diagnostische stderr-Informationen über die Befehlsausführung, die bei der Fehlerbehebung nützlich sein können, um herauszufinden, warum ein Befehl unerwartete Ergebnisse liefert. Um Debug-Protokolle einfach anzuzeigen, empfehlen wir, die Protokolle an eine Datei zu senden, um die Informationen einfacher zu durchsuchen. Sie können dies mit einer der folgenden Methoden durchführen.

Um nur die stderr-Diagnoseinformationen zu senden, fügen Sie 2> debug.txt an, wobei debug.txt der Name ist, den Sie für Ihre Debug-Datei verwenden möchten:

$ aws servicename commandname options --debug 2> debug.txt

Um beide, die Ausgangs– und stderr-Diagnoseinformationen zu senden, fügen Sie &> debug.txt an, wobei debug.txt der Name ist, den Sie für Ihre Debug-Datei verwenden möchten:

$ aws servicename commandname options --debug &> debug.txt
--endpoint-url <Zeichenfolge>

Gibt die URL an, an die die Anforderung gesendet werden soll. Bei den meisten Befehlen bestimmt die AWS CLI automatisch die URL basierend auf dem ausgewählten Service und der angegebenen AWS-Region. Allerdings müssen Sie bei einigen Befehlen eine kontenspezifische URL angeben. Sie können einige AWS-Services auch so konfigurieren, dass sie einen Endpunkt direkt in Ihrer privaten VPC hosten, was dann möglicherweise spezifiziert werden muss.

Eine Liste der Standard-Service-Endpunkte, die in jeder Region verfügbar sind, finden Sie unter AWS-Regionen und Endpunkte in der allgemeinen Amazon-Web-Services-Referenz.

--no-cli-auto-prompt

Deaktiviert den automatischen Eingabeaufforderungsmodus für einen einzelnen Befehl.

$ aws dynamodb describe-table --table-name Table1 --no-cli-auto-prompt

Diese Option überschreibt die aws_cli_auto_prompt-Umgebungsvariable und die Profileinstellung cli_auto_prompt.

Weitere Informationen zur Auto-Prompt-Funktion von AWS CLI Version 2 finden Sie unter Aufforderung der AWS CLI zur Eingabe von Befehlen.

--no-cli-pager

Ein boolescher Schalter, der die Verwendung eines Pagers für die Ausgabe des Befehls deaktiviert.

--no-paginate

Ein boolescher Schalter, der die mehrfachen Aufrufe deaktiviert, die AWS CLI automatisch durchführt, um alle Befehlsergebnisse zu empfangen, die eine Paginierung der Ausgabe erzeugen. Dies bedeutet, dass nur die erste Seite Ihrer Ausgabe angezeigt wird.

--no-sign-request

Ein boolescher Schalter, der das Signieren der HTTP-Anforderungen an den AWS-Service-Endpunkt deaktiviert. Dadurch wird verhindert, dass Anmeldeinformationen geladen werden.

--no-verify-ssl

Standardmäßig verwendet die AWS CLI SSL bei der Kommunikation mit AWS-Services. Bei allen SSL-Verbindungen und Aufrufen überprüft die AWS CLI die SSL-Zertifikate. Bei Verwendung dieser Option wird das Standardverhalten des Überprüfens von SSL-Zertifikaten außer Kraft gesetzt.

Warnung

Diese Option stellt keine bewährte Methode dar. Wenn Sie --no-verify-ssl verwenden, ist der Datenverkehr zwischen Ihrem Client und AWS-Services nicht mehr gesichert. Dies bedeutet, dass der Datenverkehr ein Sicherheitsrisiko darstellt und anfällig für Man-in-the-Middle-Angriffe ist. Wenn Sie Probleme mit Zertifikaten haben, sollten Sie diese Probleme stattdessen lösen. Informationen zur Behebung von Zertifikatfehlern finden Sie unter Fehler im Zusammenhang mit SSL-Zertifikaten.

--output <Zeichenfolge>

Gibt das Ausgabeformat an, das für diesen Befehl verwendet werden soll. Sie können alle folgenden Werte angeben:

  • json –Die Ausgabe erfolgt im JSON-Format.

  • yaml –Die Ausgabe erfolgt im YAML-Format.

  • yaml-stream – Die Ausgabe erfolgt im YAML-Format und wird so auch gestreamt. Streaming ermöglicht eine schnellere Handhabung großer Datentypen.

  • text – Die Ausgabe wird als mehrere Zeilen mit tabulatorgetrennten Zeichenfolgenwerten formatiert. Dies kann nützlich sein, um die Ausgabe an einen Textprozessor wie grep, sed oder awk zu übergeben.

  • table – Die Ausgabe erfolgt in Form einer Tabelle mit den Zeichen +|-, um die Zellenrahmen zu bilden. Normalerweise wird die Information in einem benutzerfreundlichen Format wiedergegeben, das viel einfacher zu lesen ist als die anderen, jedoch programmatisch nicht so nützlich ist.

--profile <Zeichenfolge>

Gibt das benannte Profil an, das für diesen Befehl verwendet werden soll. Zum Einrichten weiterer benannter Profile können Sie den Befehl aws configure mit der Option --profile verwenden.

$ aws configure --profile <profilename>
--query <Zeichenfolge>

Gibt eine JMESPath-Abfrage an, die zum Filtern der Antwortdaten verwendet werden soll. Weitere Informationen finden Sie unter AWS CLI-Filterausgabe.

--region <Zeichenfolge>

Gibt an, an welche AWS-Region die AWS-Anfrage dieses Befehls gesendet werden soll. Eine Liste aller Regionen, die Sie angeben können, finden Sie unter AWS-Regionen und Endpunkte in der allgemeinen Amazon-Web-Services-Referenz.

--version

Ein boolescher Schalter, der die aktuell ausgeführte Version des AWS CLI-Programms anzeigt.

Häufige Verwendungsweisen von Befehlszeilenoptionen

Befehlszeilenoptionen werden häufig für die Überprüfung Ihrer Ressourcen in mehreren AWS-Regionen und zur Änderung des Ausgabeformats für bessere Lesbarkeit oder zur einfacheren Skripterstellung verwendet. In den folgenden Beispielen führen wir den Befehl describe-instances gegen jede Region aus, bis wir herausfinden, in welcher Region sich unsere Instance befindet.

$ aws ec2 describe-instances --output table --region us-west-1 ------------------- |DescribeInstances| +-----------------+ $ aws ec2 describe-instances --output table --region us-west-2 ------------------------------------------------------------------------------ | DescribeInstances | +----------------------------------------------------------------------------+ || Reservations || |+-------------------------------------+------------------------------------+| || OwnerId | 012345678901 || || ReservationId | r-abcdefgh || |+-------------------------------------+------------------------------------+| ||| Instances ||| ||+------------------------+-----------------------------------------------+|| ||| AmiLaunchIndex | 0 ||| ||| Architecture | x86_64 ||| ...