Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Neue Funktionen und Änderungen in der AWS CLI Version 2
In diesem Thema werden neue Funktionen und Verhaltensänderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 beschrieben. Diese Änderungen erfordern möglicherweise eine Aktualisierung Ihrer Skripts oder Befehle, damit Sie in Version 2 das gleiche Verhalten wie in Version 1 erhalten.
Themen
AWS CLI Version 2, neue Funktionen
Die AWS CLI Version 2 ist die neueste Hauptversion von AWS CLI und unterstützt alle aktuellen Funktionen. Einige in Version 2 eingeführte Funktionen werden nicht auf Version 1 zurückportiert und Sie müssen ein Upgrade durchführen, um auf diese Funktionen zugreifen zu können. Nachstehend sind einige dieser Features aufgeführt:
- Python Interpreter nicht erforderlich
-
Die AWS CLI Version 2 benötigt keine separate Installation von Python. Sie enthält eine eingebettete Version.
- Assistenten
-
Mit der AWS CLI Version 2 können Sie einen Assistenten verwenden. Der Assistent leitet Sie beim Erstellen bestimmter Befehle an.
- IAMIdentity Center-Authentifizierung
-
Wenn Ihre Organisation AWS IAM Identity Center (IAMIdentity Center) verwendet, können sich Ihre Benutzer bei Active Directory, einem integrierten IAM Identity Center-Verzeichnis oder einem anderen mit IAM Identity Center verbundenen IdP anmelden. Anschließend werden sie einer Rolle AWS Identity and Access Management (IAM) zugeordnet, mit der Sie Befehle ausführen AWS CLI können.
- Automatische Eingabeaufforderung
-
Wenn diese Option aktiviert ist, kann AWS CLI Version 2 Sie bei der Ausführung eines
aws
Befehls zur Eingabe von Befehlen, Parametern und Ressourcen auffordern. - Ausführen der offiziellen Amazon ECR Public- oder Docker-Images für AWS CLI
-
Das offizielle Docker-Image für AWS CLI bietet Isolierung, Portabilität und Sicherheit, die AWS direkt unterstützt und gewartet wird. Auf diese Weise können Sie AWS CLI Version 2 in einer containerbasierten Umgebung verwenden, ohne die Installation selbst verwalten zu müssen.
- Clientseitiger Pager
-
Die AWS CLI Version 2 bietet die Verwendung eines clientseitigen Pager-Programms für die Ausgabe. Standardmäßig ist diese Funktion aktiviert und gibt alle Ausgaben über das Standard-Pager-Programm Ihres Betriebssystems zurück.
- aws configure import
-
Importieren von
.csv
-Anmeldeinformationen, die von der AWS Management Console generiert wurden. Es wird eine.csv
Datei importiert, deren Profilname dem Benutzernamen entspricht. IAM aws configure list-profiles
-
Listet die Namen aller konfigurierten Profile auf.
- YAMLStream-Ausgabeformat
-
Das
yaml-stream
Formatyaml
und nutzt die Vorteile des YAMLFormats und ermöglicht gleichzeitig eine reaktionsschnellere Anzeige großer Datensätze, indem die Daten an Sie gestreamt werden. Sie können mit dem Anzeigen und Verwenden von YAML Daten beginnen, bevor die gesamte Abfrage heruntergeladen wurde. - Neue allgemeine
ddb
-Befehle für DynamoDB -
Die AWS CLI Version 2 enthält die Amazon DynamoDB DynamoDB-Befehle
ddb put
auf hoher Ebene und. ddb select
Diese Befehle stellen eine vereinfachte Schnittstelle zum Einfügen von Elementen in DynamoDB-Tabellen sowie für Suchvorgänge in einer Tabelle oder einem Index in DynamoDB bereit. aws logs tail
-
Die AWS CLI Version 2 hat einen benutzerdefinierten
aws logs tail
Befehl, der die Protokolle für eine Amazon CloudWatch Logs-Gruppe verfolgt. Standardmäßig gibt der Befehl Protokolle aus allen zugehörigen CloudWatch Logs-Streams der letzten zehn Minuten zurück. - Unterstützung von Metadaten für allgemeine s3-Befehle hinzugefügt
-
In AWS CLI Version 2 wird der
--copy-props
Parameter dens3
Befehlen auf hoher Ebene hinzugefügt. Mit diesem Parameter können Sie zusätzliche Metadaten und Tags für Amazon Simple Storage Service (Amazon S3) konfigurieren. - AWS_REGION
-
Die AWS CLI Version 2 hat eine AWS SDK -kompatible Umgebungsvariable namens
AWS_REGION
. Diese Variable gibt an AWS-Region , an welche Anfragen gesendet werden sollen. Sie überschreibt die UmgebungsvariableAWS_DEFAULT_REGION
, die nur in der AWS CLI verfügbar ist.
Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2
In diesem Abschnitt werden alle Verhaltensänderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 beschrieben. Diese Änderungen erfordern möglicherweise eine Aktualisierung Ihrer Skripts oder Befehle, damit Sie in Version 2 das gleiche Verhalten wie in Version 1 erhalten.
Themen
- Umgebungsvariable hinzugefügt, um Textdateikodierung festzulegen
- Binäre Parameter werden standardmäßig als base64-kodierte Zeichenfolgen übergeben
- Verbesserte Verarbeitung der Dateieigenschaften und Tags durch Amazon S3 bei mehrteiligen Kopien
- Kein automatisches Abrufen von http:// oder https:// URLs für Parameter
- Standardmäßige Verwendung des Pagers für die gesamte Ausgabe
- Die Timestamp-Ausgabewerte sind auf das 8601-Format standardisiert ISO
- Verbesserter Umgang mit CloudFormation Bereitstellungen, die zu keinen Änderungen führen
- Verändertes Standardverhalten für regionale Amazon-S3-Endpunkte für die Region us-east-1
- Das Standardverhalten für regionale AWS STS Endpunkte wurde geändert
- ecr get-login entfernt und durch ecr get-login-password ersetzt
- AWS CLI Version 2: Die Unterstützung für Plugins ändert sich
- Entfernung der Unterstützung für versteckte Aliasse
- Die Konfigurationsdateieinstellung api_versions wird nicht unterstützt
- AWS CLI Version 2 verwendet nur Signature v4 zur Authentifizierung von Amazon S3 S3-Anfragen
- AWS CLI Version 2 ist konsistenter mit den Paging-Parametern
- AWS CLI Version 2 bietet konsistentere Rückgabecodes für alle Befehle
Umgebungsvariable hinzugefügt, um Textdateikodierung festzulegen
Standardmäßig verwenden Textdateien für Blob die gleiche Kodierung wie das installierte Gebietsschema. Da AWS CLI Version 2 eine eingebettete Version von Python verwendet, werden die Umgebungsvariablen PYTHONUTF8
und die PYTHONIOENCODING
Umgebungsvariablen nicht unterstützt. Verwenden Sie die Umgebungsvariable AWS_CLI_FILE_ENCODING
, um die Kodierung für Textdateien so festzulegen, dass sie sich vom Gebietsschema unterscheiden. Im folgenden Beispiel wird festgelegt AWS CLI , dass Textdateien UTF-8
unter Windows geöffnet werden sollen.
AWS_CLI_FILE_ENCODING=UTF-8
Weitere Informationen finden Sie unter Konfiguration von Umgebungsvariablen für AWS CLI.
Binäre Parameter werden standardmäßig als base64-kodierte Zeichenfolgen übergeben
In der AWS CLI erforderten einige Befehle Base64-kodierte
Standardmäßig übergibt AWS CLI Version 2 alle binären Eingabe- und binären Ausgabeparameter als Base64-kodierte Zeichenfolge blobs
(Binary Large Object). Weitere Informationen finden Sie unter Blob.
Verwenden Sie die cli_binary_format
Dateikonfiguration oder den AWS CLI Parameter, um zum Verhalten von Version 1 zurückzukehren. --cli-binary-format
Verbesserte Verarbeitung der Dateieigenschaften und Tags durch Amazon S3 bei mehrteiligen Kopien
Wenn Sie die Befehle von AWS CLI Version 1 im aws s3
Namespace verwenden, um eine Datei von einem S3-Bucket-Speicherort an einen anderen zu kopieren, und dieser Vorgang das mehrteilige Kopieren verwendet, werden keine Dateieigenschaften aus dem Quellobjekt in das Zielobjekt kopiert.
Standardmäßig übertragen die entsprechenden Befehle in AWS CLI Version 2 alle Tags und einige Eigenschaften von der Quell- auf die Zielkopie. Im Vergleich zur AWS CLI Version 1 kann dies dazu führen, dass mehr AWS API Aufrufe an den Amazon S3 S3-Endpunkt getätigt werden. Verwenden Sie den --copy-props
Parameter, um das Standardverhalten für s3
Befehle in AWS CLI Version 2 zu ändern.
Weitere Informationen finden Sie unter Dateieigenschaften und Tags in mehrteiligen Kopien.
Kein automatisches Abrufen von http://
oder https://
URLs für Parameter
AWS CLI Version 2 führt keine GET
Operation durch, wenn ein Parameterwert mit http://
oder beginnthttps://
, und verwendet den zurückgegebenen Inhalt nicht als Parameterwert. Aus diesem Grund wurde die zugehörige Befehlszeilenoption cli_follow_urlparam
aus AWS CLI Version 2 entfernt.
Wenn Sie einen abrufen URL und den URL Inhalt an einen Parameterwert übergeben müssen, empfehlen wir Ihnen, den Inhalt von curl
oder ein ähnliches Tool zu verwenden, URL um den Inhalt von in eine lokale Datei herunterzuladen. Verwenden Sie dann die Syntax file://
, um den Inhalt dieser Datei zu lesen und als Parameterwert zu verwenden.
Mit dem folgenden Befehl wird beispielsweise nicht mehr versucht, den Inhalt der Seite abzurufen, der unter http://www.example.com
gefunden wird, und diesen Inhalt als Parameter zu übergeben. Stattdessen wird die literale Textzeichenfolge https://example.com
als Parameter übergeben.
$
aws ssm put-parameter \
--value http://www.example.com \
--name prod.microservice1.db.secret \
--type String 2
Wenn Sie den Inhalt einer Website abrufen und URL als Parameter verwenden müssen, können Sie in Version 2 wie folgt vorgehen.
$
curl https://my.example.com/mypolicyfile.json -o mypolicyfile.json$
aws iam put-role-policy \ --policy-document file://./mypolicyfile.json \ --role-name MyRole \ --policy-name MyReadOnlyPolicy
Im vorherigen Beispiel weist der Parameter -o
curl
an, die Datei im aktuellen Ordner mit demselben Namen wie die Quelldatei zu speichern. Der zweite Befehl ruft den Inhalt dieser heruntergeladenen Datei ab und übergibt den Inhalt als Wert von --policy-document
.
Standardmäßige Verwendung des Pagers für die gesamte Ausgabe
Standardmäßig gibt AWS CLI Version 2 die gesamte Ausgabe über das Standard-Pager-Programm Ihres Betriebssystems zurück. Dieses Programm ist das less
more
Sie können AWS CLI Version 2 so konfigurieren, dass ein anderes Paging-Programm oder gar kein Paging-Programm verwendet wird. Weitere Informationen finden Sie unter Clientseitiger Pager.
Die Timestamp-Ausgabewerte sind auf das 8601-Format standardisiert ISO
Standardmäßig gibt AWS CLI Version 2 alle Zeitstempel-Antwortwerte im ISO8601-Format
Verwenden Sie den wire
Wert in Ihrer config
Datei, um Zeitstempel in dem von der HTTP API Antwort zurückgegebenen Format anzuzeigen. Weitere Informationen finden Sie unter cli_timestamp_format
.
Verbesserter Umgang mit CloudFormation Bereitstellungen, die zu keinen Änderungen führen
Wenn Sie in AWS CLI Version 1 eine AWS CloudFormation Vorlage bereitstellen, die zu keinen Änderungen führt, wird standardmäßig ein fehlgeschlagener Fehlercode AWS CLI zurückgegeben. Dies führt zu Problemen, wenn Sie es nicht als Fehler betrachten und möchten, dass Ihr Skript fortgesetzt wird. In AWS CLI Version 1 können Sie dieses Problem umgehen, indem Sie das Flag hinzufügen-–no-fail-on-empty-changeset
, das zurückkehrt0
.
Da dies ein häufiger Anwendungsfall ist, gibt AWS CLI Version 2 standardmäßig einen erfolgreichen Exit-Code zurück, 0
wenn keine Änderung durch eine Bereitstellung vorgenommen wurde und der Vorgang ein leeres Changeset zurückgibt.
Fügen Sie das Flag --fail-on-empty-changeset
hinzu, um das ursprüngliche Verhalten wiederherzustellen.
Verändertes Standardverhalten für regionale Amazon-S3-Endpunkte für die Region us-east-1
Wenn Sie AWS CLI Version 1 für die Verwendung der us-east-1
Region konfigurieren, AWS CLI
verwendet die den globalen s3.amazonaws.com
Endpunkt, der physisch in der Region gehostet wird. us-east-1
AWS CLI Version 2 verwendet den echten regionalen Endpunkt, s3.us-east-1.amazonaws.com
wenn diese Region angegeben ist. Um zu erzwingen, dass AWS CLI Version 2 den globalen Endpunkt verwendet, können Sie die Region für einen Befehl auf festlegenaws-global
.
Das Standardverhalten für regionale AWS STS Endpunkte wurde geändert
Standardmäßig sendet AWS CLI Version 2 alle AWS Security Token Service (AWS STS) API -Anfragen an den regionalen Endpunkt für den aktuell konfigurierten AWS-Region Endpunkt.
Standardmäßig sendet AWS CLI Version 1 AWS STS Anfragen an den globalen AWS STS Endpunkt. Sie können dieses Standardverhalten in Version 1 mithilfe der Einstellung sts_regional_endpoints
steuern.
ecr get-login
entfernt und durch ecr get-login-password
ersetzt
Die AWS CLI Version 2 ersetzt den Befehl aws ecr get-login
durch den aws
ecr get-login-password
Befehl, der die automatisierte Integration mit der Container-Authentifizierung verbessert.
Der Befehl aws ecr get-login-password
verringert das Risiko, dass Ihre Anmeldeinformationen in der Prozessliste, dem Shellverlauf oder anderen Protokolldateien offengelegt werden. Er verbessert außerdem die Kompatibilität mit dem Befehl docker login
, um die Automatisierung zu optimieren.
Der aws ecr get-login-password
Befehl ist in AWS CLI Version 1.17.10 und höher sowie in AWS CLI Version 2 verfügbar. Der frühere aws ecr get-login
Befehl ist aus Gründen der Abwärtskompatibilität weiterhin in AWS CLI Version 1 verfügbar.
Mit dem Befehl aws ecr get-login-password
können Sie den folgenden Code ersetzen, mit dem ein Passwort abgerufen wird.
$
(aws ecr get-login --no-include-email)
Verwenden Sie stattdessen den folgenden Beispielbefehl, um das Risiko zu verringern, das Passwort für den Shellverlauf oder die Protokolle offenzulegen. In diesem Beispiel wird das Kennwort direkt an den Befehl docker login
übergeben, wo es durch die Option --password-stdin
dem Passwort-Parameter zugewiesen wird.
$
aws ecr get-login-password | docker login --username AWS
--password-stdin
MY-REGISTRY-URL
Weitere Informationen finden Sie unter aws ecr get-login-password
AWS CLI Version 2: Die Unterstützung für Plugins ändert sich
Die Plugin-Unterstützung in AWS CLI Version 2 ist völlig vorläufig und soll Benutzern helfen, von AWS CLI Version 1 zu migrieren, bis eine stabile, aktualisierte Plugin-Oberfläche veröffentlicht wird. Es gibt keine Garantie dafür, dass ein bestimmtes Plugin oder sogar die AWS CLI Plugin-Schnittstelle in future Versionen der AWS CLI Version 2 unterstützt wird. Wenn Sie sich auf Plugins verlassen, achten Sie darauf, dass Sie sich auf eine bestimmte Version von AWS CLI festlegen und die Funktionalität Ihres Plugins testen, wenn Sie ein Upgrade durchführen.
Um Plug-In-Support zu aktivieren, erstellen Sie einen [plugins]
-Abschnitt in Ihrer ~/.aws/config
.
[plugins] cli_legacy_plugin_path =
<path-to-plugins>
/python3.7/site-packages<plugin-name>
=<plugin-module>
Definieren Sie im Abschnitt [plugins]
die Variable cli_legacy_plugin_path
und setzen Sie den Wert auf den Pfad der Python-Websitepakete, in dem sich Ihr Plugin-Modul befindet. Dann können Sie ein Plugin konfigurieren, indem Sie einen Namen für das Plugin (plugin-name
) und den Dateinamen des Python-Moduls (plugin-module
) angeben, das den Quellcode für das Plugin enthält. Das AWS CLI lädt jedes Plugin, indem es es importiert plugin-module
und seine awscli_initialize
Funktion aufruft.
Entfernung der Unterstützung für versteckte Aliasse
AWS CLI Version 2 unterstützt die folgenden versteckten Aliase, die in Version 1 unterstützt wurden, nicht mehr.
In der folgenden Tabelle werden in der ersten Spalte der Dienst, der Befehl und der Parameter angezeigt, die in allen Versionen funktionieren, einschließlich AWS CLI Version 2. In der zweiten Spalte wird der Alias angezeigt, der in AWS CLI Version 2 nicht mehr funktioniert.
Funktionierender Service, Befehl und Parameter | Veralteter Alias |
---|---|
Cognito-Identity -arns create-identity-pool open-id-connect-provider | open-id-connect-provider-ar-ns |
storagegateway describe-tapes tape-arns | tape-ar-ns |
Speicher-Gateway. describe-tape-archives.band-arns | tape-ar-ns |
Speicher-Gateway. describe-vtl-devices. vtl-device-arns | vtl-device-ar-ns |
StorageGateway. describe-cached-iscsi-volumes.volume-arns | volume-ar-ns |
Speicher-Gateway. describe-stored-iscsi-volumes.volume-arns | volume-ar-ns |
route53domains.view-billing.start-time | start |
bereitstellen. create-deployment-group.ec2-Tag-Set | ec-2-tag-set |
bereitstellen. list-application-revisions.s3-Bucket | s-3-bucket |
bereitstellen. list-application-revisions.s3-Schlüsselpräfix | s-3-key-prefix |
bereitstellen. update-deployment-group.ec2-Tag-Set | ec-2-tag-set |
bin. enable-mfa-device.Authentifizierungscode1 | authentication-code-1 |
bin. enable-mfa-device.Authentifizierungscode2 | authentication-code-2 |
bin. resync-mfa-device.Authentifizierungscode1 | authentication-code-1 |
bin. resync-mfa-device.Authentifizierungscode2 | authentication-code-2 |
importieren/exportieren. get-shipping-label. Straße 1 | street-1 |
importieren/exportieren. get-shipping-label. Straße 2 | street-2 |
importieren/exportieren. get-shipping-label. Straße 3 | street-3 |
lambda.publish-version.code-sha256 | code-sha-256 |
Lichtsegel. import-key-pair. public-key-base64 | public-key-base-64 |
opsworks.register-volume.ec2-volume-id | ec-2-volume-id |
Die Konfigurationsdateieinstellung api_versions
wird nicht unterstützt
AWS CLI Version 2 unterstützt das Aufrufen früherer Versionen des AWS Dienstes APIs mithilfe der Einstellung der api_versions
Konfigurationsdatei nicht. Alle AWS CLI Befehle rufen jetzt die neueste Version des Dienstes aufAPIs, die derzeit vom Endpunkt unterstützt wird.
AWS CLI Version 2 verwendet nur Signature v4 zur Authentifizierung von Amazon S3 S3-Anfragen
Die AWS CLI Version 2 unterstützt keine früheren Signaturalgorithmen zur kryptografischen Authentifizierung von Serviceanfragen, die an Amazon S3 S3-Endpunkte gesendet wurden. Diese Signatur erfolgt automatisch bei jeder Amazon-S3-Anforderung und es wird nur der Signaturprozess mit Signature Version 4 unterstützt. Sie können die Signaturversion nicht konfigurieren. Alle vorsignierten Amazon S3 S3-Buckets verwenden URLs jetzt nur SigV4 und haben eine maximale Ablaufdauer von einer Woche.
AWS CLI Version 2 ist konsistenter mit den Paging-Parametern
Wenn Sie in AWS CLI Version 1 Paginierungsparameter in der Befehlszeile angeben, ist die automatische Paginierung erwartungsgemäß deaktiviert. Wenn Sie jedoch Paginierungsparameter unter Verwendung einer Datei mit dem Parameter ‐‐cli-input-json
angeben, wird die automatische Paginierung nicht deaktiviert. Dies kann zu einer unerwarteten Ausgabe führen. In AWS CLI Version 2 wird die automatische Paginierung unabhängig davon, wie Sie die Parameter angeben, deaktiviert.
AWS CLI Version 2 bietet konsistentere Rückgabecodes für alle Befehle
Die AWS CLI Version 2 ist bei allen Befehlen konsistenter und gibt im Vergleich zur AWS CLI Version 1 ordnungsgemäß einen entsprechenden Exit-Code zurück. Wir haben außerdem die Beendigungscodes 252, 253 und 254 ergänzt. Weitere Informationen zu Beendigungscodes finden Sie unter Befehlszeilen-Rückgabecodes in der AWS CLI.
Wenn Sie davon abhängig sind, wie AWS CLI Version 1 Rückgabecodewerte verwendet, empfehlen wir, die Exit-Codes zu überprüfen, um sicherzustellen, dass Sie die erwarteten Werte erhalten.