Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de l'outil de migration AWS CLI v1-v2 pour mettre à niveau la version 1 de la AWS CLI vers la version 2 de la CLI AWS
Cette rubrique décrit l'outil de migration de AWS CLI v1-v2.
Nous recommandons aux utilisateurs de la version 1 de la AWS CLI de passer à la version 2 de la AWS CLI pour accéder à de nouvelles fonctionnalités et à des performances améliorées. Certains changements de comportement entre la version 1 de la AWS AWS CLI et la version 2 de la CLI peuvent vous obliger à mettre à jour vos scripts ou commandes pour obtenir le même comportement. L'outil de migration de la AWS CLI v1-v2 analyse les scripts bash contenant des commandes de la version 1 de la AWS CLI et détecte l'utilisation de fonctionnalités mises à jour avec des modifications majeures dans la version 2 de la CLI AWS . En outre, l'outil peut modifier automatiquement vos scripts pour résoudre la plupart des problèmes détectés. Cet outil améliore l'expérience de mise à niveau en détectant et en modifiant automatiquement les commandes de la version 1 de la AWS CLI dans les scripts bash afin d'éviter des problèmes inattendus lors de la mise à niveau vers la version 2.
Comparé au mode Upgrade Debug, l'outil de migration AWS CLI v1-v2 est un outil autonome qui ne nécessite pas l'exécution de commandes CLI. AWS Pour une comparaison complète entre le mode de débogage de mise à niveau et l'outil de migration AWS CLI v1-v2, voir dans. Utilisation des outils de migration de la AWS CLI pour atténuer les ruptures Guide de migration pour la AWS CLI version 2
Pour plus de détails, voir Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2 dansNouvelles fonctionnalités et modifications de la AWS CLI version 2.
Fonctionnement
L'outil de migration AWS CLI v1-v2 est un package Python capable de linter des scripts bash utilisant la version 1 de la CLI. AWS Comme il s'agit d'un linter statique, cela ne dépend pas de la version de la AWS CLI version 1 que vous avez peut-être installée sur votre machine. Le linter est invoqué via la ligne de commande, où le chemin du fichier local vers le script bash est fourni en tant que paramètre.
L'outil de migration peut également produire automatiquement un script bash modifié qui résout la plupart des résultats détectés en modifiant les commandes de la version 1 de la AWS CLI utilisées dans le script. L'outil de migration modifie les commandes afin qu'elles soient compatibles avec AWS la version 2 et conservent le comportement de la version 1.
Pour certains résultats, l'outil de migration de AWS CLI v1-v2 peut les détecter mais ne propose pas de solution automatique. Dans ces cas, l'outil de migration les signale comme des détections nécessitant un examen manuel.
Consultez Limitations la liste exhaustive des modifications majeures et des correctifs automatiques pris en charge par l'outil de migration AWS CLI v1-v2.
Conditions préalables
Python
Pour utiliser cet outil, Python 3.9 ou version ultérieure doit être installé.
Pour vérifier que la version correcte de Python est installée, exécutez la commande suivante dans un terminal et vérifiez que la sortie indique une version Python d'au moins 3.9.
$python3 --version
Si vous avez une ancienne version de Python ou si Python n'est pas installé, vous pouvez télécharger une version compatible depuis la page officielle de téléchargement de Python
pip
En plus d'avoir installé une version compatible de Python, vous devez l'avoir pip installée.
Pour vérifier qu'pipil est installé, exécutez la commande suivante :
$python3 -m pip --version
Si vous l'avez pip installé, vous verrez un résultat similaire à ce qui suit :
pip 25.0.1 from ~/.local/lib/python3.13/site-packages (python 3.13)
Si ce n'est pas le pip cas, consultez Installer pip.
Installation
Installez l'outil de migration AWS CLI v1-v2 dans un nouvel environnement virtuel :
$python3 -m venv .venv$source .venv/bin/activate$python3 -m pip install aws-cli-migrate
Usage
Mode de fonctionnement à sec (par défaut)
Avec le mode dry-run, vous pouvez détecter automatiquement les commandes de la version 1 de la AWS CLI susceptibles d'être modifiées sans modifier le script d'entrée :
$migrate-aws-cli --script upload_s3_files.sh
Mode de correction automatique
Avec le mode de correction automatique, vous pouvez détecter et mettre à jour automatiquement les commandes de la version 1 de la AWS CLI dans le script d'entrée afin de limiter les interruptions causées par les modifications introduites dans la version 2 de la AWS CLI, dans la mesure du possible :
$migrate-aws-cli --script upload_s3_files.sh --fix
Vous pouvez éventuellement fournir un chemin de sortie via le --output paramètre pour écrire le script mis à jour, plutôt que de mettre à jour le script d'entrée :
$migrate-aws-cli --script upload_s3_files.sh --output upload_s3_files_v2.sh --fix
Mode interactif
Avec le mode interactif, vous pouvez détecter automatiquement les commandes de la version 1 de la AWS CLI susceptibles de subir des modifications importantes. La plupart des résultats indiqueront une solution suggérée pour atténuer les ruptures dans la version 2 de la AWS CLI. Vous pouvez consulter les correctifs proposés et décider de les appliquer ou non. Vous pouvez éventuellement fournir un chemin de sortie via le --output paramètre pour contrôler où écrire le script mis à jour :
$migrate-aws-cli --script upload_s3_files.sh --interactive \ --output upload_s3_files_v2.sh
L'extrait de sortie suivant est un exemple de recherche en mode interactif :
14 14│
15 15│ aws s3 ls s3://mybucket
16 16│
17 │-aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive
17│+aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive --copy-props none
18 18│
19 19│ TEMPLATE_KEY="cloudformation/$(basename "$TEMPLATE_FILE")"
20 20│
examples/upload_s3_files.sh:17 [s3-copy] In AWS CLI v2, object properties will be copied
from the source in multipart copies between S3 buckets. If a copy is or becomes multipart
after upgrading to AWS CLI v2, extra API calls will be made. See
https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-s3-copy-metadata.
Apply this fix? [y] yes, [n] no, [a] accept all of type, [r] reject all of type, [u] update all,
[s] save and exit, [q] quit:
Le correctif suggéré est affiché dans un format similaire à celui d'un Git diff. L'outil de migration suggère de supprimer les lignes commençant par a - et suggère d'ajouter des lignes commençant par + a. Dans l'exemple précédent, la suggestion peut être interprétée comme l'ajout du --copy-props none paramètre à la commande AWS CLI version 1 qui exécute une copie Amazon S3.
Pour chaque correction suggérée, vous pouvez saisir l'une des commandes suivantes :
-
Entrez
ypour accepter le correctif suggéré. -
Entrez
npour rejeter le correctif actuel. -
Entrez
apour accepter tous les correctifs du même type. -
Entrez
rpour rejeter tous les correctifs du même type. -
Entrez
upour accepter tous les correctifs restants. -
Entrez
spour enregistrer et quitter. -
Entrez
qpour quitter sans enregistrer.
Certains résultats peuvent être marqués pour un examen manuel sans qu'une solution ne soit suggérée. Vous devez examiner ces résultats et vérifier si vous êtes concerné par les modifications majeures référencées. Si vous êtes concerné par ces résultats, vous devez suivre les instructions spécifiées dans la description des résultats pour apporter les modifications nécessaires afin d'éviter ou de vous préparer aux modifications majeures introduites dans la version 2 de la AWS CLI.
Limitations
L'outil de migration de la AWS CLI v1-v2 ne prend actuellement pas en charge toutes les modifications importantes introduites avec la version 2 de la AWS CLI et présente des cas de faux positifs où il émet des détections pour les commandes même si aucune modification majeure n'est réellement constatée.
Nous recommandons vivement aux clients de comprendre ce qui est Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2 publié dansNouvelles fonctionnalités et modifications de la AWS CLI version 2.
Analyse basée sur le texte
L'outil de migration analyse votre script sans l'exécuter. Cela limite la façon dont il détecte les commandes AWS CLI pour annuler les modifications. L'outil de migration ne peut examiner que le texte d'une commande AWS CLI. Il ne peut pas détecter les problèmes qui surviennent lors de l'exécution, tels que le stockage de paramètres obsolètes dans une variable au lieu de les transmettre directement à la CLI AWS .
Détection de changements brusques non prise en charge
L'étendue de la prise en charge des modifications majeures apportées à l'outil de migration est résumée dans le tableau suivant.