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.
Verwenden des Upgrade-Debug-Modus zum Upgrade von AWS CLI Version 1 auf AWS CLI Version 2
Wir empfehlen Benutzern von AWS CLI Version 1 ein Upgrade auf AWS CLI Version 2, um auf neue Funktionen und verbesserte Leistung zugreifen zu können. Es gibt Verhaltensänderungen zwischen AWS CLI-Version 1 und AWS CLI-Version 2, sodass Sie möglicherweise Ihre Skripts oder Befehle aktualisieren müssen, um dasselbe Verhalten zu erzielen. Der Upgrade-Debug-Modus in AWS CLI Version 1 gibt Warnungen aus, wenn Sie Funktionen verwenden, die sich in AWS CLI-Version 2 anders verhalten. Diese Funktion verbessert das Upgrade-Erlebnis, indem sie automatisch erkennt, welche Ihrer AWS CLI-Befehle der Version 1 geändert werden müssen, bevor Sie auf AWS CLI Version 2 aktualisieren, um unerwartete Probleme zu vermeiden.
Weitere Details finden Sie unter Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2.
Wenn Sie von AWS CLI Version 1 auf Version 2 aktualisieren, kann Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 dies Auswirkungen auf Ihre vorhandenen Skripts und Workflows haben. Der Upgrade-Debug-Modus hilft Ihnen, diese Probleme zu identifizieren, bevor Sie die Migration abschließen.
Der Upgrade-Debug-Modus erkennt, wenn Sie Funktionen verwenden, die in AWS CLI-Version 2 grundlegende Änderungen vorgenommen haben. Wenn Sie einen Befehl ausführen, der nach dem Upgrade nicht mehr funktioniert, zeigt der Modus eine Warnung mit bestimmten Schritten zur Behebung des Problems an. Auf diese Weise sparen Sie Zeit, da potenzielle Probleme automatisch gefunden werden, anstatt Ihren Code manuell zu durchsuchen.
Funktionsweise
Wenn diese Option aktiviert ist, erkennt der Upgrade-Debug-Modus die Verwendung von Funktionen, die mit wichtigen Änderungen in AWS CLI Version 2 aktualisiert wurden. Wenn Sie Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 nach dem Upgrade auf AWS CLI Version 2 einen Befehl oder eine Funktion verwenden, die in unserer aufgeführt sind, wird in der Ausgabe eine Warnung angezeigt. Die Erkennung bahnbrechender Änderungen basiert auf dem verwendeten Befehl, den angegebenen Argumenten, der Ausführungsumgebung (z. B. Umgebungsvariablen, Konfigurationseinstellungen usw.) und in einigen Fällen auch auf dem Inhalt oder der Konfiguration der Ressourcen im verwendeten AWS Konto.
Das folgende Beispiel zeigt, wie diese Warnungen aussehen. Dieser Befehl veranschaulicht ein Beispiel für eine Warnung. Der gesamte Warntext beginnt mit „AWS CLI V2 UPGRADE WARNING“, gefolgt von der spezifischen Warnmeldung. In diesem Fall wird eine Warnung ausgegeben, da der Befehl darauf angewiesen ist, dass die AWS CLI den Inhalt der URL abruft und den Inhalt als --template-body Parameterwert verwendet, was eine Funktion war, die in AWS CLI-Version 2 entfernt wurde.
Das folgende Beispiel zeigt, wie eine Warnung aussieht:
$ aws cloudformation create-stack \ --stack-name "stack012345" \ --template-body "https://s3.amazonaws.com/amzn-s3-demo-bucket/template.json" AWS CLI v2 UPGRADE WARNING: For input parameters that have a prefix of http:// or https://, AWS CLI v2 will not automatically request the content of the URL for the parameter, and the `cli_follow_urlparam` option has been removed. See https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-paramfile.
Die folgende Tabelle enthält alle wichtigen Änderungen und zeigt, wie Sie vermeiden können, dass in AWS CLI-Version 2 eine grundlegende Änderung vorgenommen wird. Behebungsmaßnahmen, die die Warnungen im Debug-Modus beheben, sind fett gedruckt.
| Bahnbrechende Veränderung | Migrieren Sie auf Version 1 auf das Verhalten von Version 2 | Behalten Sie auf Version 2 das Verhalten von Version 1 bei |
|---|---|---|
| Umgebungsvariable hinzugefügt, um Textdateikodierung festzulegen | Deaktivieren Sie die PYTHONIOENCODING Umgebungsvariablen PYTHONUTF8 und. |
Setzt die AWS_CLI_FILE_ENCODING Umgebungsvariable auf die in Version 1 angegebene Kodierung. |
| Binäre Parameter werden standardmäßig als base64-kodierte Zeichenfolgen übergeben | Kodieren Sie den Wert des Parameters mit Base64. Wenn der Parameter aus einer Datei geladen wird, codieren Sie den Dateiinhalt mit Base64. | Stellen Sie die cli_binary_format Einstellung auf ein. raw-in-base64-out |
| Verbesserte Verarbeitung der Dateieigenschaften und Tags durch Amazon S3 bei mehrteiligen Kopien | N/A. Das Verhalten von Version 1 kann nicht auf Version 2 migriert werden. | Verwenden Sie den Parameter --copy-props none. |
| Kein automatisches Abrufen von http:// oder https:// URLs für Parameter | Verwenden Sie Curl (oder alternative Tools), um den Inhalt von in eine lokale URLs Datei herunterzuladen. Laden Sie dann den Dateiinhalt mit file://in den Parameter. Alternativ können Sie cli_follow_urlparam die Konfiguration auf false konfigurieren, um die unformatierte URL als Parameterwert anzugeben. |
N/A. Das Verhalten von Version 1 kann in Version 2 nicht beibehalten werden. |
| Standardmäßige Verwendung des Pagers für die gesamte Ausgabe | N/A. Das Verhalten von Version 2 in Version 1 kann nicht migriert werden. | Setzen Sie die cli_pager Einstellung oder AWS_PAGER Variable auf eine leere Zeichenfolge. |
| Standardisierung der Zeitstempel-Ausgabewerte auf das Format ISO 8601 | Setzen Sie die Einstellung cli_timestamp _format aufiso8601. |
Stellen Sie die cli_timestamp_format Einstellung auf Wire ein. |
| Verbesserte Handhabung von CloudFormation Bereitstellungen, die zu keinen Änderungen führen | Verwenden Sie den --no-fail-on-empty-changeset Parameter. |
Verwenden Sie den Parameter --fail-on-empty-changeset. |
| Verändertes Standardverhalten für regionale Amazon-S3-Endpunkte für die Region us-east-1 | Setzen Sie die AWS_ENDPOINT_URL_S3 Umgebungsvariable oder die --endpoint-url Befehlszeilenoption auf die regionale URL us-east-1. |
Verwenden Sie die --region aws-global Befehlszeilenoption. |
| ecr get-login entfernt und durch ecr get-login-password ersetzt | (1.17.10 oder höher) Verwenden Sie die Ausgabe ecr get-login entfernt und durch ecr get-login-password ersetzt und leiten Sie sie an einen Docker-Befehl weiter. | N/A. Es ist nicht möglich, das Verhalten von Version 1 in Version 2 beizubehalten. |
| AWS CLI Version 2: Die Unterstützung für Plugins ändert sich | N/A. Das Verhalten von Version 2 in Version 1 kann nicht migriert werden. | Konfigurieren Sie den cli_legacy_plugin_path für den Abschnitt der Konfigurationsdatei. [plugins] Testen Sie Plugins in Version 2, sperren Sie Ihre Version 2-Version und testen Sie Ihre Plugins bei jedem Upgrade. |
| Entfernung der Unterstützung für versteckte Aliasse | Wechseln Sie von der Verwendung des veralteten versteckten Alias zu einem AliasEntfernung der Unterstützung für versteckte Aliasse, das in allen Versionen funktioniert. | N/A. Es ist nicht möglich, das Verhalten von Version 1 in Version 2 beizubehalten. |
| Die Konfigurationsdateieinstellung api_versions wird nicht unterstützt | Migrieren und testen Sie Ihre Nutzung älterer API-Versionen auf die neueste API-Version und entfernen Sie api_versions aus Ihren Konfigurationseinstellungen. | N/A. Es ist nicht möglich, das Verhalten von Version 1 in Version 2 beizubehalten. |
| AWS CLI Version 2 verwendet nur Signature v4 zur Authentifizierung von Amazon S3 S3-Anfragen | Geben Sie als Signaturversion Version 4 an (siehe Angabe der Signaturversion bei der Anforderungsauthentifizierung). | N/A. Das Verhalten von Version 1 kann in Version 2 nicht beibehalten werden. |
| AWS CLI Version 2 ist konsistenter mit den Paging-Parametern | Verschieben Sie die Paginierungsparameter im JSON-Eingabeparameter in den Befehl selbst. | Entfernen Sie die Paginierungsparameter aus dem JSON-Eingabeparameter. |
| AWS CLI Version 2 bietet konsistentere Rückgabecodes für alle Befehle | N/A. Das Verhalten von Version 2 in Version 1 kann nicht migriert werden. | N/A. Das Verhalten von Version 1 kann in Version 2 nicht beibehalten werden. |
Einschränkungen
Wir empfehlen unseren Kunden dringend, unsere Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 zu überprüfen.
Die Erkennung von Breaking Change wird nicht unterstützt
Die Funktion im Upgrade-Debug-Modus unterstützt alle wichtigen Änderungen mit Ausnahme dieser. AWS CLI Version 2 bietet konsistentere Rückgabecodes für alle Befehle In diesem Modus kann nicht berücksichtigt werden, wie Sie die von der AWS CLI Downstream zurückgegebenen Fehlercodes verwenden.
Bedingte Erkennung bahnbrechender Änderungen
Die Erkennung von Standardisierung der Zeitstempel-Ausgabewerte auf das Format ISO 8601 ist der einzige Fall, in dem die Erkennung vom Status des AWS Accounts abhängt. Wenn die Kontoressourcen später aktualisiert werden, kann es zu grundlegenden Änderungen kommen. Wenn in der API-Antwort des Dienstes keine Zeitstempel enthalten sind, wird diese wichtige Änderung nicht erkannt.
Wenn Sie sich auf das von AWS CLI-Befehlen zurückgegebene Zeitstempelformat verlassen und die AWS CLI noch nicht für die Verwendung von ISO 8601 konfiguriert haben, treffen Sie zusätzliche Vorsichtsmaßnahmen, um sicherzustellen, dass Ihre Verarbeitung des Zeitstempels nach dem Upgrade auf Version 2 nicht unterbrochen wird.
Unlösbare Erkennung bahnbrechender Änderungen
Einige im Upgrade-Debug-Modus ausgegebene Warnungen können nicht durch Ändern des Befehls oder der Umgebung behoben werden. In den folgenden Fällen würden im Upgrade-Debug-Modus immer Warnungen ausgegeben, solange Sie die entsprechende Funktion verwenden:
-
AWS CLI Version 2: Die Unterstützung für Plugins ändert sich- Wenn Sie sich in Ihrer Konfigurationsdatei auf Plugins verlassen, gibt der Upgrade-Debug-Modus immer eine Warnung aus, die nicht behoben werden kann. Dieser Modus kann nicht garantieren, ob eines Ihrer Plugins in AWS CLI Version 2 funktioniert.
-
Verbesserte Verarbeitung der Dateieigenschaften und Tags durch Amazon S3 bei mehrteiligen Kopien - Wenn zur Durchführung einer bucket-to-bucket Amazon Amazon S3 S3-Kopie verwendet
aws s3wird, gibt der Upgrade-Debug-Modus immer eine Warnung aus, die nicht behoben werden kann.
Falsche Erkennungen
Warnungen, die im Upgrade-Debug-Modus ausgegeben werden, garantieren nicht, dass nach dem Upgrade auf AWS CLI v2 wichtige Änderungen vorgenommen werden. Im Folgenden sind Fälle aufgeführt, in denen im Upgrade-Debug-Modus Warnungen ausgegeben würden, obwohl in AWS CLI v2 keine bahnbrechende Änderung eingeführt wurde:
-
Umgebungsvariable hinzugefügt, um Textdateikodierung festzulegen— Wenn die
PYTHONIOENCODINGUmgebungsvariablenPYTHONUTF8oder angegeben wurden, um die Kodierung der Textdatei festzulegen, und die angegebene Kodierung bereits mit dem installierten Gebietsschema übereinstimmt, könnte es sich bei der Warnung um eine Fehlerkennung handeln, da der Debug-Modus nicht überprüft, ob die Kodierung mit dem installierten Gebietsschema übereinstimmt. -
Verbesserte Verarbeitung der Dateieigenschaften und Tags durch Amazon S3 bei mehrteiligen Kopien - Wenn zur Erstellung einer bucket-to-bucket Amazon Amazon S3 S3-Kopie verwendet
aws s3wird und die Kopie nicht mehrteilig ist, weil das Quellobjekt unter dem Schwellenwert für mehrere Teile liegt, wird eine falsche Erkennung ausgegeben. -
Standardisierung der Zeitstempel-Ausgabewerte auf das Format ISO 8601— wenn die Konfigurationseinstellung cli_timestamp_format auf Wire (Standard) gesetzt ist und der Service einen Zeitstempel im Format ISO 8601 zurückgibt.
-
Verbesserte Handhabung von CloudFormation Bereitstellungen, die zu keinen Änderungen führen- Wenn das
--fail-on-empty-changesetFlag zusammen mit demaws cloudformation deployBefehl verwendet wird und der resultierende Changeset leer ist, wird eine falsche Erkennung ausgegeben. Wenn der Changeset nicht leer ist und nicht verwendet wird,--no-fail-on-empty-changesetwird außerdem eine Falschmeldung ausgegeben. -
Verändertes Standardverhalten für regionale Amazon-S3-Endpunkte für die Region us-east-1- Wenn
aws s3oder zur Ausführung eines Amazon Amazon S3 S3-Vorgangs verwendetaws s3apiwird und die Region entsprechend konfiguriert ist und dies3.us_east_1_regional_endpointKonfiguration nicht auf regional konfiguriert ist und der globale Amazon S3 S3-Endpunkt aufgrund der Endpunktkonfigurationseinstellungen für die Anfrage verwendet wird, dann ist die Warnung möglicherweise eine Fehlerkennung, da der Debug-Modus die konfigurierten Endpunkteinstellungen nicht überprüft.us-east-1
Konfigurieren Sie den Upgrade-Debug-Modus
Sie können den Upgrade-Debug-Modus mithilfe der folgenden Methoden aktivieren oder deaktivieren, die in der Reihenfolge ihrer Priorität aufgeführt sind:
-
Befehlszeilenoptionen aktivieren oder deaktivieren den Upgrade-Debug-Modus für einen einzelnen Befehl. Verwenden Sie --v2-debug, um den Upgrade-Debug-Modus zu verwenden.
-
Umgebungsvariablen verwenden die Variable _UPGRADE_DEBUG_MODE. AWS_CLI