

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.

# Guide de migration pour la AWS CLI version 2
<a name="cliv2-migration"></a>

Cette section contient des instructions pour mettre à jour la AWS CLI version 1 vers AWS CLI la version 2. La AWS CLI version 2 s'appuie sur la AWS CLI version 1 et inclut des fonctionnalités et des améliorations basées sur les commentaires de la communauté. La AWS CLI version 2 est la version majeure la plus récente AWS CLI et prend en charge toutes les dernières fonctionnalités. Certaines fonctionnalités introduites dans la version 2 ne sont pas rétrocompatibles avec la version 1, et vous devez effectuer une mise à niveau pour accéder à celles-ci. 

Pour éviter des problèmes inattendus, [découvrez les différences entre les versions](cliv2-migration-changes.md) avant de migrer vers la version 2. La AWS CLI version 2 inclut de nouvelles fonctionnalités et des modifications qui peuvent vous obliger à mettre à jour vos scripts ou commandes pour des raisons de rétrocompatibilité.

AWS CLI les versions 1 et 2 utilisent le même nom de `aws` commande. Si les deux versions sont installées, votre ordinateur utilise la première indiquée dans votre chemin de recherche. Cela peut entraîner l'appel de votre ancienne AWS CLI version par le nom de votre `aws` commande, même si la nouvelle est installée.

Pour passer à la AWS CLI version 2, suivez l'une des instructions ci-dessous :
+ Si vous avez déjà installé AWS CLI la version 1, suivez les instructions figurant dans[Installation de AWS CLI la version 2 à partir de AWS CLI la version 1](cliv2-migration-instructions.md).
+ Si vous n'avez pas encore installé AWS CLI la version 1, suivez les instructions figurant dans[Mise en route avec l’AWS CLI](cli-chap-getting-started.md). 

## Utilisation des outils de migration de la AWS CLI pour atténuer les ruptures
<a name="using-migration-tools"></a>

Des changements de comportement entre la version 1 de la AWS CLI et la version 2 de la AWS CLI peuvent nécessiter la mise à jour de vos scripts ou de vos commandes. La mise à niveau vers la version 2 de la AWS CLI sans vérifier que vos scripts existants ont été migrés en toute sécurité risque de provoquer des effets inattendus lors de l'exécution des scripts avec la version 2 de la AWS CLI, tels que des modifications involontaires des ressources de vos AWS comptes.

Il existe deux outils AWS propres que vous pouvez utiliser pour guider votre migration. Quel que soit l'outil que vous utilisez, nous vous recommandons de le référencer [Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) dans le [Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md) guide.

### Mettre à niveau le mode de débogage
<a name="cliv2-migration-upgrade-debug-mode"></a>

Le mode de débogage de mise à niveau est une fonctionnalité de la version 1 de la AWS CLI disponible dans les versions `1.44.0` et supérieures. Lorsque cette fonctionnalité est activée, chaque commande AWS CLI que vous exécutez est vérifiée pour déterminer si elle est susceptible d'avoir un comportement différent dans la version 2 de la AWS CLI, en supposant que l'environnement d'exécution reste le même. Si une commande exécutée aurait un comportement différent dans la version 2 de la AWS CLI, un avertissement sera affiché à côté de la sortie de la commande avec des suggestions d'actions pouvant être entreprises pour préserver le comportement de la AWS CLI version 1 dans la version 2 de la AWS CLI.

La principale raison d'utiliser le mode de mise à niveau pour guider votre migration est qu'il permet de détecter si les commandes sont susceptibles de changer de comportement. 14 des 15 modifications majeures décrites dans [Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) peuvent être détectées avec le mode de débogage de mise à niveau. Consultez la section [Utilisation du mode de mise à niveau et de débogage pour mettre à niveau la version 1 de la AWS CLI vers la version 2 de la AWS CLI](cli-upgrade-debug-mode.md) pour connaître [Limitations](cli-upgrade-debug-mode.md#upgrade-mode-limitations) les limites de cette fonctionnalité. D'autre part, le principal inconvénient de l'utilisation du mode de débogage de mise à niveau est que sa sortie n'est pertinente que dans son environnement d'exécution ; si des paramètres de configuration de la AWS CLI changent dans l'environnement après la migration vers la version 2 de la AWS CLI, des modifications importantes peuvent toujours se produire, et vous devez vérifier à nouveau en utilisant le mode de débogage de mise à niveau dans l'environnement mis à jour.

### AWS Outil de migration de CLI v1-v2
<a name="cliv2-migration-migration-tool"></a>

L'outil de migration AWS CLI v1-v2 est un outil autonome qui peut être utilisé avec Python 3.9 et versions ultérieures. Cet outil est un linter statique qui s'exécute indépendamment de la AWS CLI. Il contient des scripts bash contenant des commandes de la version 1 de la AWS CLI qui peuvent avoir un comportement différent dans la version 2 de la AWS CLI. Pour la plupart des commandes qu'il détecte comme susceptibles d'avoir un comportement différent dans la version 2 de la AWS CLI, il peut automatiquement mettre à jour la commande dans le script afin de préserver le comportement de la version 1 de la AWS CLI dans la version 2 de la AWS CLI.

La principale raison d'utiliser l'outil de migration de la AWS CLI v1-v2 pour guider votre migration est qu'il peut automatiquement mettre à jour vos scripts afin de préserver le comportement de la version 1 de la AWS CLI dans la version 2 de la AWS CLI, ce qui vous permet d'économiser du temps et des efforts lorsque vous effectuez vous-même les mises à jour. D'un autre côté, le principal inconvénient de l'utilisation de l'outil de migration est qu'il offre une couverture plus faible pour détecter si les commandes seront confrontées à un changement de comportement. En tant qu'outil statique, il ne vérifie pas les changements de comportement déterminés lors de l'exécution.

## Choix entre le mode de mise à niveau et l'outil de migration v1-v2 de la AWS CLI
<a name="cliv2-migration-choosing-migration-tool"></a>

Le tableau suivant met en évidence les principales différences entre le mode de mise à niveau et l'outil de migration de la AWS CLI v1-v2, et peut être utilisé pour vous aider à choisir l'outil adapté à votre cas d'utilisation.


| Mettre à niveau le mode de débogage | AWS Outil de migration de CLI v1-v2 | 
| --- | --- | 
| Détecte 14 des 15 modifications majeures entre la version 1 de la AWS CLI et la version 2 de la AWS CLI. | Détecte 7 des 15 modifications majeures entre la version 1 de la AWS CLI et la version 2 de la AWS CLI. | 
| Compatible avec n'importe quel programme de terminal capable d'exécuter la AWS CLI. | Supporte uniquement les scripts bash linting. | 
| Nécessite la version 1 de la AWS CLI, version 1.44.0 ou supérieure. | S'exécute indépendamment de la AWS CLI ; elle ne nécessite pas l'installation de la AWS CLI. | 
| Des corrections manuelles doivent être apportées pour préserver le comportement de la version 1 de la AWS AWS CLI dans la version 2 de la CLI. | Corrige automatiquement la plupart des commandes de la version 1 de la AWS CLI qu'il détecte comme susceptibles d'avoir un comportement différent dans la version 2 de la AWS CLI. | 
| Les détections et les corrections suggérées ne concernent que l'environnement d'exécution (c'est-à-dire la configuration de la AWS CLI) dans lequel elles sont exécutées. | Les détections et les solutions proposées sont indépendantes de l'environnement. | 
| Nécessite l'exécution de chaque commande AWS CLI testée pour le changement de comportement. | Ne nécessite pas l'exécution de commandes AWS CLI. Ne doit être exécuté qu'une seule fois par script bash. | 
| Possède exactement 5 cas connus où il produira des détections faussement positives. | Possède exactement 3 cas connus où il produira des détections faussement positives. | 

Le tableau suivant indique ceux qui [Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) sont pris en charge dans chacun des deux outils de migration.


| Un changement radical | Détecté par le mode de mise à niveau et de débogage | Détecté par l' AWS outil de migration CLI v1-v2 | 
| --- | --- | --- | 
| [Ajout d’une variable d’environnement pour définir l’encodage de fichiers texte](cliv2-migration-changes.md#cliv2-migration-encodingenvvar) | Oui | Non | 
| [Les paramètres binaires sont transmis en tant que chaînes codées en base64 par défaut.](cliv2-migration-changes.md#cliv2-migration-binaryparam) | Oui | Oui | 
| [Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées](cliv2-migration-changes.md#cliv2-migration-s3-copy-metadata) | Oui | Oui | 
| [Aucune récupération automatique de `http://` ou `https://` URLs pour les paramètres](cliv2-migration-changes.md#cliv2-migration-paramfile) | Oui | Non | 
| [Pager utilisé par défaut pour toutes les sorties](cliv2-migration-changes.md#cliv2-migration-output-pager) | Oui | Oui | 
| [Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601](cliv2-migration-changes.md#cliv2-migration-timestamp) | Oui | Non | 
| [Gestion améliorée des CloudFormation déploiements qui n'entraînent aucune modification](cliv2-migration-changes.md#cliv2-migration-cfn) | Oui | Oui | 
| [Modification du comportement par défaut du point de terminaison Amazon S3 régional pour la région `us-east-1`](cliv2-migration-changes.md#cliv2-migration-s3-regional-endpoint) | Oui | Non | 
| [Comportement par défaut modifié pour les points de AWS STS terminaison régionaux](cliv2-migration-changes.md#cliv2-migration-sts-regional-endpoint) | Oui | Non | 
| [Retrait de la commande `ecr get-login`, remplacée par `ecr get-login-password`](cliv2-migration-changes.md#cliv2-migration-ecr-get-login) | Oui | Oui | 
| [AWS CLI le support de la version 2 pour les plugins est en train de changer](cliv2-migration-changes.md#cliv2-migration-profile-plugins) | Oui | Non | 
| [Suppression de la prise en charge des alias masqués](cliv2-migration-changes.md#cliv2-migration-aliases) | Oui | Oui | 
| [Paramètre de fichier de configuration `api_versions` non pris en charge](cliv2-migration-changes.md#cliv2-migration-api-versions) | Oui | Non | 
| [AWS CLI la version 2 utilise uniquement Signature v4 pour authentifier les demandes Amazon S3](cliv2-migration-changes.md#cliv2-migration-sigv4) | Oui | Non | 
| [AWS CLI la version 2 est plus cohérente avec les paramètres de pagination](cliv2-migration-changes.md#cliv2-migration-skeleton-paging) | Oui | Oui | 
| [AWS CLI la version 2 fournit des codes de retour plus cohérents pour toutes les commandes](cliv2-migration-changes.md#cliv2-migration-return-codes) | Non | Non | 

## Rubriques supplémentaires de cette section
<a name="migrate-topics"></a>
+ [Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md)
+ [Installation de AWS CLI la version 2 à partir de AWS CLI la version 1](cliv2-migration-instructions.md)
+ [Utilisation du mode de mise à niveau et de débogage pour mettre à niveau la version 1 de la AWS CLI vers la version 2 de la AWS CLI](cli-upgrade-debug-mode.md)
+ [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](cli-migration-tool.md)

# Nouvelles fonctionnalités et modifications de la AWS CLI version 2
<a name="cliv2-migration-changes"></a>

Cette rubrique décrit les nouvelles fonctionnalités et les changements de comportement entre les AWS CLI versions 1 et AWS CLI 2. Ces modifications peuvent vous obliger à mettre à jour vos scripts ou commandes pour obtenir le même comportement dans la version 2 que dans la version 1.

**Topics**
+ [

## AWS CLI nouvelles fonctionnalités de la version 2
](#cliv2-migration-changes-features)
+ [

## Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2
](#cliv2-migration-changes-breaking)

## AWS CLI nouvelles fonctionnalités de la version 2
<a name="cliv2-migration-changes-features"></a>

La AWS CLI version 2 est la version majeure la plus récente AWS CLI et prend en charge toutes les dernières fonctionnalités. Certaines fonctionnalités introduites dans la version 2 ne sont pas rétrocompatibles avec la version 1, et vous devez effectuer une mise à niveau pour accéder à celles-ci. Ces fonctionnalités sont les suivantes :

**L’interpréteur Python n’est pas nécessaire**  
La AWS CLI version 2 n'a pas besoin d'une installation séparée de Python. Elle inclut une version intégrée.

**[Assistants](cli-usage-wizard.md)**  
Vous pouvez utiliser un assistant avec la AWS CLI version 2. Celui-ci vous guide tout au long de la construction de certaines commandes.

**[Authentification IAM Identity CenterConcepts IAM Identity CenterTutoriel : AWS IAM Identity Center et Amazon S3Exemples pour l’AWS CLI](cli-configure-sso.md)**  
Si votre organisation utilise AWS IAM Identity Center (IAM Identity Center), vos utilisateurs peuvent se connecter à Active Directory, à un annuaire IAM Identity Center intégré ou à un autre [IdP connecté à](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) IAM Identity Center. Ils sont ensuite mappés à un rôle Gestion des identités et des accès AWS (IAM) qui vous permet d'exécuter AWS CLI des commandes.

**[Invite automatique](cli-usage-parameters-prompting.md)**  
Lorsqu'elle est activée, la AWS CLI version 2 peut vous demander des commandes, des paramètres et des ressources lorsque vous exécutez une `aws` commande. 

**[Exécution des images officielles Amazon ECR Public ou Docker pour le AWS CLI](getting-started-docker.md)**  
L'image Docker officielle du AWS CLI fournit une isolation, une portabilité et une sécurité qui sont AWS directement prises en charge et maintenues. Ainsi, vous pouvez utiliser la AWS CLI version 2 dans un environnement basé sur des conteneurs sans avoir à gérer vous-même l'installation. 

**[Pager côté client](cli-usage-pagination.md#cli-usage-pagination-clientside)**  
La AWS CLI version 2 prévoit l'utilisation d'un programme de téléavertisseur côté client pour la sortie. Cette fonctionnalité est activée par défaut et renvoie toutes les sorties via le programme de pager par défaut de votre système d’exploitation.

**[`aws configure import`](cli-configure-files.md#cli-config-aws_configure_import)**  
Importez les informations d’identification au format `.csv` générées à partir de la AWS Management Console. Un fichier `.csv` est importé avec le nom de profil correspondant au nom d’utilisateur IAM. 

**[https://docs.aws.amazon.com/cli/latest/reference/configure/list-profiles.html](https://docs.aws.amazon.com/cli/latest/reference/configure/list-profiles.html)**  
Répertorie les noms de tous les profils que vous avez configurés. 

**[Format de sortie du flux YAML](cli-usage-output-format.md#yaml-stream-output)**  
Les formats `yaml` et `yaml-stream` tirent parti du format [YAML](https://yaml.org) tout en offrant une visualisation plus réactive des grands jeux de données en vous transmettant les données en streaming. Vous pouvez commencer à visualiser et à utiliser les données YAML avant le téléchargement complet des requêtes. 

**[Nouvelles commandes `ddb` de haut niveau pour DynamoDB](https://docs.aws.amazon.com/cli/latest/reference/ddb/index.html)**  
La AWS CLI version 2 contient les commandes Amazon [https://docs.aws.amazon.com/cli/latest/reference/api/latest/reference/ddb/put.html](https://docs.aws.amazon.com/cli/latest/reference/api/latest/reference/ddb/put.html)DynamoDB de haut niveau et. [https://docs.aws.amazon.com/cli/latest/reference/api/latest/reference/ddb/select.html](https://docs.aws.amazon.com/cli/latest/reference/api/latest/reference/ddb/select.html) Ces commandes fournissent une interface simplifiée pour placer des éléments dans les tables DynamoDB, et effectuer des recherches dans une table ou un index DynamoDB. 

**[https://docs.aws.amazon.com/cli/latest/reference/logs/tail.html](https://docs.aws.amazon.com/cli/latest/reference/logs/tail.html)**  
La AWS CLI version 2 dispose d'une `aws logs tail` commande personnalisée qui suit les journaux d'un groupe Amazon CloudWatch Logs. Par défaut, la commande renvoie les journaux de tous les flux de CloudWatch journaux associés au cours des dix dernières minutes.

**[Ajout de la prise en charge des métadonnées pour les commandes `s3` de haut niveau](cli-services-s3-commands.md#using-s3-commands-before-large)**  
La AWS CLI version 2 ajoute le `--copy-props` paramètre aux `s3` commandes de haut niveau. À l’aide de ce paramètre, vous pouvez configurer des métadonnées et des balises supplémentaires pour Amazon Simple Storage Service (Amazon S3).

**[`AWS_REGION`](cli-configure-envvars.md#envvars-list-AWS_REGION)**  
La AWS CLI version 2 possède une variable d'environnement AWS compatible avec le SDK appelée. `AWS_REGION` Cette variable indique Région AWS à qui envoyer les demandes. Elle remplace la variable d’environnement `AWS_DEFAULT_REGION`, qui n’est applicable que dans l’ AWS CLI.

## Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2
<a name="cliv2-migration-changes-breaking"></a>

Cette section décrit tous les changements de comportement entre la AWS CLI version 1 et AWS CLI la version 2. Ces modifications peuvent vous obliger à mettre à jour vos scripts ou commandes pour obtenir le même comportement dans la version 2 que dans la version 1.

**Topics**
+ [

### Ajout d’une variable d’environnement pour définir l’encodage de fichiers texte
](#cliv2-migration-encodingenvvar)
+ [

### Les paramètres binaires sont transmis en tant que chaînes codées en base64 par défaut.
](#cliv2-migration-binaryparam)
+ [

### Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées
](#cliv2-migration-s3-copy-metadata)
+ [

### Aucune récupération automatique de `http://` ou `https://` URLs pour les paramètres
](#cliv2-migration-paramfile)
+ [

### Pager utilisé par défaut pour toutes les sorties
](#cliv2-migration-output-pager)
+ [

### Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601
](#cliv2-migration-timestamp)
+ [

### Gestion améliorée des CloudFormation déploiements qui n'entraînent aucune modification
](#cliv2-migration-cfn)
+ [

### Modification du comportement par défaut du point de terminaison Amazon S3 régional pour la région `us-east-1`
](#cliv2-migration-s3-regional-endpoint)
+ [

### Comportement par défaut modifié pour les points de AWS STS terminaison régionaux
](#cliv2-migration-sts-regional-endpoint)
+ [

### Retrait de la commande `ecr get-login`, remplacée par `ecr get-login-password`
](#cliv2-migration-ecr-get-login)
+ [

### AWS CLI le support de la version 2 pour les plugins est en train de changer
](#cliv2-migration-profile-plugins)
+ [

### Suppression de la prise en charge des alias masqués
](#cliv2-migration-aliases)
+ [

### Paramètre de fichier de configuration `api_versions` non pris en charge
](#cliv2-migration-api-versions)
+ [

### AWS CLI la version 2 utilise uniquement Signature v4 pour authentifier les demandes Amazon S3
](#cliv2-migration-sigv4)
+ [

### AWS CLI la version 2 est plus cohérente avec les paramètres de pagination
](#cliv2-migration-skeleton-paging)
+ [

### AWS CLI la version 2 fournit des codes de retour plus cohérents pour toutes les commandes
](#cliv2-migration-return-codes)

### Ajout d’une variable d’environnement pour définir l’encodage de fichiers texte
<a name="cliv2-migration-encodingenvvar"></a>

 Par défaut, les fichiers texte pour [Blob](cli-usage-parameters-types.md#parameter-type-blob) utilisent le même encodage que les paramètres régionaux installés. Comme la AWS CLI version 2 utilise une version intégrée de Python, les variables d'`PYTHONIOENCODING`environnement `PYTHONUTF8` et ne sont pas prises en charge. Pour définir un encodage de fichiers texte différent de celui des paramètres régionaux, utilisez la variable d’environnement `AWS_CLI_FILE_ENCODING`. L'exemple suivant montre comment AWS CLI ouvrir des fichiers texte `UTF-8` sous Windows.

```
AWS_CLI_FILE_ENCODING=UTF-8
```

Pour plus d’informations, consultez [Configuration des variables d'environnement pour AWS CLI](cli-configure-envvars.md).

### Les paramètres binaires sont transmis en tant que chaînes codées en base64 par défaut.
<a name="cliv2-migration-binaryparam"></a>

Dans le AWS CLI, certaines commandes nécessitaient des chaînes codées en [base64](https://wikipedia.org/wiki/Base64), tandis que d'autres nécessitaient des chaînes d'octets codées en UTF-8. Dans la AWS CLI version 1, le transfert de données entre deux types de chaînes codées nécessitait souvent un traitement intermédiaire. La AWS CLI version 2 rend la gestion des paramètres binaires plus cohérente, ce qui permet de transmettre les valeurs d'une commande à l'autre de manière plus fiable. 

Par défaut, la AWS CLI version 2 transmet tous les paramètres binaires d'entrée et de sortie binaires sous forme de chaîne codée en base64 `blobs` (gros objet binaire). Pour de plus amples informations, veuillez consulter [Blob](cli-usage-parameters-types.md#parameter-type-blob).

Pour revenir au comportement de la AWS CLI version 1, utilisez la configuration du `cli\$1binary\$1format` fichier ou le `--cli-binary-format` paramètre.

### Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées
<a name="cliv2-migration-s3-copy-metadata"></a>

Lorsque vous utilisez les commandes de la AWS CLI version 1 dans l'`aws s3`espace de noms pour copier un fichier d'un emplacement de compartiment S3 vers un autre, et que cette opération utilise une [copie en plusieurs parties](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CopyingObjctsMPUapi.html), aucune propriété de fichier de l'objet source n'est copiée vers l'objet de destination.

Par défaut, les commandes correspondantes de la AWS CLI version 2 transfèrent toutes les balises et certaines propriétés de la copie source vers la copie de destination. Par rapport à la AWS CLI version 1, cela peut entraîner un plus grand nombre d'appels d' AWS API vers le point de terminaison Amazon S3. Pour modifier le comportement par défaut des `s3` commandes de AWS CLI la version 2, utilisez le `--copy-props` paramètre.

Pour de plus amples informations, veuillez consulter [Propriétés des fichiers et balises dans les copies partitionnées](cli-services-s3-commands.md#using-s3-commands-before-tags).

### Aucune récupération automatique de `http://` ou `https://` URLs pour les paramètres
<a name="cliv2-migration-paramfile"></a>

La AWS CLI version 2 n'effectue aucune `GET` opération lorsqu'une valeur de paramètre commence par `http://` ou`https://`, et n'utilise pas le contenu renvoyé comme valeur de paramètre. Par conséquent, l'option de ligne de commande associée `cli_follow_urlparam` est supprimée de la AWS CLI version 2.

Si vous devez récupérer une URL et transmettre son contenu dans la valeur d’un paramètre, nous vous recommandons d’utiliser `curl` ou un outil similaire pour télécharger le contenu de l’URL dans un fichier local. Ensuite, utilisez la syntaxe `file://` pour lire le contenu de ce fichier et l’utiliser comme valeur du paramètre. 

Par exemple, la commande suivante n'essaie plus de récupérer le contenu de la page se trouvant dans `http://www.example.com` et de le transmettre en tant que paramètre. Au lieu de cela, elle transmet la chaîne de texte littéral `https://example.com` en tant que paramètre.

```
$ aws ssm put-parameter \
    --value http://www.example.com \
    --name prod.microservice1.db.secret \
    --type String 2
```

Si vous voulez récupérer et utiliser le contenu d’une URL web comme paramètre, vous pouvez effectuer les opérations suivantes dans la version 2.

```
$ 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
```

Dans l’exemple précédent, le paramètre `-o` indique à `curl` qu’il doit enregistrer le fichier dans le dossier actuel avec le même nom que le fichier source. La deuxième commande récupère le contenu de ce fichier téléchargé et le transmet en tant que valeur de `--policy-document`.

### Pager utilisé par défaut pour toutes les sorties
<a name="cliv2-migration-output-pager"></a>

Par défaut, la AWS CLI version 2 renvoie toutes les sorties via le programme de téléavertisseur par défaut de votre système d'exploitation. Ce programme est le programme [https://ss64.com/bash/less.html](https://ss64.com/bash/less.html) sous Linux et macOS, et le programme [https://docs.microsoft.com/windows-server/administration/windows-commands/more](https://docs.microsoft.com/windows-server/administration/windows-commands/more) sous Windows. Cela peut vous aider à parcourir une grande quantité de sortie d’un service en affichant cette sortie une page à la fois. 

Vous pouvez configurer la AWS CLI version 2 pour utiliser un programme de pagination différent ou aucun programme de pagination du tout. Pour de plus amples informations, veuillez consulter [Pager côté client](cli-usage-pagination.md#cli-usage-pagination-clientside).

### Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601
<a name="cliv2-migration-timestamp"></a>

Par défaut, la AWS CLI version 2 renvoie toutes les valeurs de réponse d'horodatage au format [ISO 8601](https://wikipedia.org/wiki/ISO_8601). Dans AWS CLI la version 1, les commandes renvoyaient des valeurs d'horodatage quel que soit le format renvoyé par la réponse de l'API HTTP, qui pouvait varier d'un service à l'autre. 

Pour afficher les horodatages au format renvoyé par la réponse de l’API HTTP, utilisez la valeur `wire` dans votre fichier `config`. Pour de plus amples informations, veuillez consulter `cli\$1timestamp\$1format`.

### Gestion améliorée des CloudFormation déploiements qui n'entraînent aucune modification
<a name="cliv2-migration-cfn"></a>

Par défaut, dans la AWS CLI version 1, si vous déployez un CloudFormation modèle qui n'entraîne aucune modification, un code d'erreur d'échec est renvoyé. AWS CLI Cela cause des problèmes si vous ignorez cette erreur et souhaitez que votre script continue. Vous pouvez contourner ce problème dans la AWS CLI version 1 en ajoutant le drapeau`-–no-fail-on-empty-changeset`, qui revient`0`.

Comme il s'agit d'un cas d'utilisation courant, la AWS CLI version 2 renvoie par défaut un code de sortie réussi `0` lorsqu'aucun changement n'est causé par un déploiement et que l'opération renvoie un ensemble de modifications vide.

Pour revenir au comportement d’origine, ajoutez l’indicateur `--fail-on-empty-changeset`.

### Modification du comportement par défaut du point de terminaison Amazon S3 régional pour la région `us-east-1`
<a name="cliv2-migration-s3-regional-endpoint"></a>

Lorsque vous configurez la AWS CLI version 1 pour utiliser la `us-east-1` région, elle AWS CLI utilise le point de `s3.amazonaws.com` terminaison global qui est physiquement hébergé dans la `us-east-1` région. La AWS CLI version 2 utilise le véritable point de terminaison régional `s3.us-east-1.amazonaws.com` lorsque cette région est spécifiée. Pour forcer la AWS CLI version 2 à utiliser le point de terminaison global, vous pouvez définir la région d'une commande sur`aws-global`.

### Comportement par défaut modifié pour les points de AWS STS terminaison régionaux
<a name="cliv2-migration-sts-regional-endpoint"></a>

Par défaut, la AWS CLI version 2 envoie toutes les AWS Security Token Service (AWS STS) demandes d'API au point de terminaison régional pour l'API actuellement configurée Région AWS. 

Par défaut, toute version antérieure à `1.42.0` la AWS CLI version 1 envoie des AWS STS demandes au point de AWS STS terminaison global. Vous pouvez contrôler ce comportement par défaut dans la version 1 à l’aide du paramètre [https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html#cli-config-sts_regional_endpoints](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html#cli-config-sts_regional_endpoints). 

Toutes les versions postérieures ou ultérieures `1.42.0` utilisent le point de terminaison régional par défaut. Si vous migrez vers la AWS CLI version 2 à partir de ces nouvelles versions, ce comportement reste inchangé.

### Retrait de la commande `ecr get-login`, remplacée par `ecr get-login-password`
<a name="cliv2-migration-ecr-get-login"></a>

La AWS CLI version 2 remplace la commande `aws ecr get-login` par la `aws ecr get-login-password` commande qui améliore l'intégration automatisée avec l'authentification des conteneurs. 

La commande `aws ecr get-login-password` réduit le risque d'exposer vos informations d'identification dans la liste des processus, l'historique du shell ou d'autres fichiers journaux. Elle améliore également la compatibilité avec la commande `docker login`, permettant une meilleure automatisation.

La `aws ecr get-login-password` commande est disponible dans les AWS CLI versions 1.17.10 et ultérieures, ainsi que dans la AWS CLI version 2. La `aws ecr get-login` commande précédente est toujours disponible dans la AWS CLI version 1 pour des raisons de rétrocompatibilité. 

Avec la commande `aws ecr get-login-password`, vous pouvez remplacer le code suivant qui récupère un mot de passe.

```
$ (aws ecr get-login --no-include-email)
```

Pour réduire le risque d'exposer le mot de passe à l'historique ou aux journaux du shell, utilisez plutôt l'exemple de commande suivant. Dans cet exemple, le mot de passe est transféré directement à la commande `docker login`, où il est affecté au paramètre password par l'option `--password-stdin`.

```
$ aws ecr get-login-password | docker login --username AWS --password-stdin MY-REGISTRY-URL
```

Pour plus d’informations, consultez [https://docs.aws.amazon.com/cli/latest/reference/ecr/get-login-password.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/get-login-password.html) dans le *Guide de référence de la version 2 de l’AWS CLI *.

### AWS CLI le support de la version 2 pour les plugins est en train de changer
<a name="cliv2-migration-profile-plugins"></a>

La prise en charge des plugins dans la AWS CLI version 2 est entièrement provisoire et vise à aider les utilisateurs à migrer depuis la AWS CLI version 1 jusqu'à ce qu'une interface de plugin stable et mise à jour soit publiée. Rien ne garantit qu'un plugin particulier ou même l'interface du AWS CLI plugin seront pris en charge dans les futures versions de la AWS CLI version 2. Si vous utilisez des plugins, assurez-vous de vous connecter à une version spécifique de votre plugin AWS CLI et de tester ses fonctionnalités lors de la mise à niveau.

Pour activer la prise en charge des plug-ins, créez une section `[plugins]` dans votre `~/.aws/config`.

```
[plugins]
cli_legacy_plugin_path = <path-to-plugins>/python3.7/site-packages
<plugin-name> = <plugin-module>
```

Dans la section `[plugins]`, définissez la variable `cli_legacy_plugin_path` et réglez sa valeur sur le chemin des packages du site Python sur lequel réside votre module de plug-ins. Vous pouvez ensuite configurer un plug-in en fournissant un nom pour celui-ci (`plugin-name`) et le nom de fichier du module Python (`plugin-module`) qui contient son code source. AWS CLI Charge chaque plugin en l'important `plugin-module` et en appelant sa `awscli_initialize` fonction.

### Suppression de la prise en charge des alias masqués
<a name="cliv2-migration-aliases"></a>

AWS CLI la version 2 ne prend plus en charge les alias cachés suivants qui étaient pris en charge dans la version 1. 

Dans le tableau suivant, la première colonne affiche le service, la commande et le paramètre qui fonctionnent dans toutes les versions, y compris la AWS CLI version 2. La deuxième colonne affiche l'alias qui ne fonctionne plus dans la AWS CLI version 2.


| Service, commande et paramètre fonctionnels | Alias obsolète | 
| --- | --- | 
| cognito-identity -arns create-identity-pool open-id-connect-provider | open-id-connect-provider-ar-ns | 
| storagegateway describe-tapes tape-arns | tape-ar-ns | 
| passerelle de stockage. describe-tape-archives.ruban adhésif | tape-ar-ns | 
| passerelle de stockage. describe-vtl-devices. vtl-device-arns | vtl-device-ar-ns | 
| passerelle de stockage. describe-cached-iscsi-volumes.volume-arns | volume-ar-ns | 
| passerelle de stockage. describe-stored-iscsi-volumes.volume-arns | volume-ar-ns | 
| route53domains.view-billing.start-time | démarrer | 
| déployer. create-deployment-groupensemble de balises .ec2 | ec-2-tag-set | 
| déployer. list-application-revisions.s3-seau | s-3-bucket | 
| déployer. list-application-revisions.s3-key-préfixe | s-3-key-prefix | 
| déployer. update-deployment-groupensemble de balises .ec2 | ec-2-tag-set | 
| iam. enable-mfa-device.code d'authentification1 | authentication-code-1 | 
| iam. enable-mfa-device.code d'authentification 2 | authentication-code-2 | 
| iam. resync-mfa-device.code d'authentification1 | authentication-code-1 | 
| iam. resync-mfa-device.code d'authentification 2 | authentication-code-2 | 
| import/export. get-shipping-label.rue 1 | street-1 | 
| import/export. get-shipping-label.rue 2 | street-2 | 
| import/export. get-shipping-label.rue 3 | street-3 | 
| lambda.publish-version.code-sha256 | code-sha-256 | 
| voile lumineuse. import-key-pair. public-key-base64 | public-key-base-64 | 
| opsworks.register-volume.ec2-volume-id | ec-2-volume-id | 

### Paramètre de fichier de configuration `api_versions` non pris en charge
<a name="cliv2-migration-api-versions"></a>

La AWS CLI version 2 ne prend pas en charge l'appel de versions antérieures du AWS service à APIs l'aide du paramètre du fichier de `api_versions` configuration. Toutes les AWS CLI commandes appellent désormais la dernière version du service APIs actuellement prise en charge par le point de terminaison.

### AWS CLI la version 2 utilise uniquement Signature v4 pour authentifier les demandes Amazon S3
<a name="cliv2-migration-sigv4"></a>

La AWS CLI version 2 ne prend pas en charge les algorithmes de signature antérieurs pour authentifier de manière cryptographique les demandes de service envoyées aux points de terminaison Amazon S3. Cette signature s’effectue automatiquement à chaque demande Amazon S3 et seul le [processus de Signature version 4](https://docs.aws.amazon.com/AmazonS3/latest/userguide/reference_aws-signing.html) est pris en charge. Vous ne pouvez pas configurer la version de Signature. Tous les compartiments Amazon S3 présignés utilisent URLs désormais uniquement le protocole SigV4 et ont une durée d'expiration maximale d'une semaine.

### AWS CLI la version 2 est plus cohérente avec les paramètres de pagination
<a name="cliv2-migration-skeleton-paging"></a>

Dans la AWS CLI version 1, si vous spécifiez les paramètres de pagination sur la ligne de commande, la pagination automatique est désactivée comme prévu. Toutefois, lorsque vous spécifiez des paramètres de pagination à l’aide d’un fichier contenant le paramètre `‐‐cli-input-json`, la pagination automatique n’est pas désactivée, ce qui peut entraîner une sortie inattendue. La AWS CLI version 2 désactive la pagination automatique, quelle que soit la manière dont vous fournissez les paramètres.

### AWS CLI la version 2 fournit des codes de retour plus cohérents pour toutes les commandes
<a name="cliv2-migration-return-codes"></a>

La AWS CLI version 2 est plus cohérente dans toutes les commandes et renvoie correctement un code de sortie approprié par rapport à la AWS CLI version 1. Nous avons également ajouté les codes de sortie 252, 253 et 254. Pour plus d’informations sur les codes de sortie, consultez [Codes de retour de ligne de commande dans l’AWS CLI](cli-usage-returncodes.md).

Si vous êtes tributaire de la façon dont la AWS CLI version 1 utilise les valeurs des codes de retour, nous vous recommandons de vérifier les codes de sortie pour vous assurer que vous obtenez les valeurs que vous attendez. 

# Installation de AWS CLI la version 2 à partir de AWS CLI la version 1
<a name="cliv2-migration-instructions"></a>

Cette rubrique fournit des instructions pour la migration de la AWS CLI version 1 vers la AWS CLI version 2.

AWS CLI les versions 1 et 2 utilisent le même nom de `aws` commande. Si les deux versions sont installées, votre ordinateur utilise la première indiquée dans votre chemin de recherche. Si vous avez déjà installé AWS CLI la version 1, nous vous recommandons d'effectuer l'une des opérations suivantes pour utiliser la AWS CLI version 2 :
+ **Recommandé** — [Désinstallez AWS CLI la version 1 et utilisez uniquement AWS CLI la version 2](#cliv2-migration-instructions-migrate).
+ [Pour avoir les deux versions installées](#cliv2-migration-instructions-side-by-side), utilisez la capacité de votre système d’exploitation pour créer un lien symbolique (symlink) ou un alias avec un nom différent pour l’une des deux commandes `aws`.

Pour en savoir plus sur les changements majeurs entre la version 1 et la version 2, consultez [Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md).

## Remplacement de la version 1 par la version 2
<a name="cliv2-migration-instructions-migrate"></a>

Procédez comme suit pour remplacer AWS CLI la version 1 par AWS CLI la version 2. 

**Pour remplacer AWS CLI la version 1 par AWS CLI la version 2**

1. Préparez tous les scripts dont vous disposez pour la migration en validant toute modification majeure entre la version 1 et la version 2 dans [Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md). Vous pouvez utiliser la fonctionnalité du mode de mise à niveau et de débogage pour guider votre préparation en suivant les instructions figurant dans[Utilisation du mode de mise à niveau et de débogage pour mettre à niveau la version 1 de la AWS CLI vers la version 2 de la AWS CLI](cli-upgrade-debug-mode.md).

1. Désinstallez la AWS CLI version 1 en suivant les instructions de désinstallation de votre système d'exploitation dans [Installation, mise à jour et désinstallation de la AWS CLI version 1](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-install.html).

1. Vérifiez que le AWS CLI est complètement désinstallé à l'aide de la commande suivante.

   ```
   $ aws --version
   ```

   Effectuez l’une des actions suivantes en fonction de la sortie :
   + **Aucune version renvoyée :** vous avez correctement désinstallé la AWS CLI version 1 et vous pouvez passer à l'étape suivante.
   + **Une version est renvoyée :** vous avez toujours une installation de la AWS CLI version 1. Pour obtenir les étapes de dépannage, consultez [La commande « `aws --version` » renvoie une version après avoir désinstallé le AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1). Effectuez les étapes nécessaires jusqu’à ce qu’une sortie indique qu’il n’y a plus aucune version installée.

1. Installez la AWS CLI version 2 en suivant les instructions d'installation appropriées à votre système d'exploitation dans[Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md).

## Side-by-side installer
<a name="cliv2-migration-instructions-side-by-side"></a>

Pour avoir les deux versions installées, utilisez la capacité de votre système d’exploitation pour créer un lien symbolique (symlink) ou un alias avec un nom différent pour l’une des deux commandes `aws`. 

1. Installez la AWS CLI version 2 en suivant les instructions d'installation appropriées à votre système d'exploitation dans[Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md).

1. Utilisez la capacité de votre système d'exploitation à créer un lien symbolique ou un alias portant un nom différent pour l'une des deux `aws` commandes, par exemple en utilisant *`aws2`* pour AWS CLI la version 2. Voici des exemples de liens symboliques pour la AWS CLI version 2. Remplacez-le *PATH* par votre emplacement d'installation.

------
#### [ Linux and macOS ]

   Vous pouvez utiliser un [lien symbolique](https://www.linux.com/topic/desktop/understanding-linux-links/) ou un [alias](https://www.linux.com/topic/desktop/aliases-diy-shell-commands/) sous Linux et macOS.

   ```
   $ alias aws2='PATH'
   ```

------
#### [ Windows command prompt ]

   [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/doskey) sous Windows.

   ```
   C:\> doskey aws2=PATH
   ```

------

# Utilisation du mode de mise à niveau et de débogage pour mettre à niveau la version 1 de la AWS CLI vers la version 2 de la AWS CLI
<a name="cli-upgrade-debug-mode"></a>

Cette rubrique décrit le mode de débogage de mise à niveau dans la version 1 de la AWS CLI.

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. Le mode de débogage de mise à niveau dans la version 1 de la AWS CLI génère des avertissements lorsque vous utilisez des fonctionnalités dont le comportement est différent dans la version 2 de la AWS CLI. Cette fonctionnalité améliore l'expérience de mise à niveau en détectant automatiquement les commandes de la version 1 de votre AWS CLI qui doivent être modifiées avant la mise à niveau vers la version 2 de la AWS CLI afin d'éviter des problèmes inattendus.

Pour plus de détails, voir [Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) dans[Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md).

## Conditions préalables
<a name="upgrade-mode-prerequisites"></a>

La fonctionnalité du mode de mise à niveau et de débogage a été introduite dans la AWS CLI dans la version`1.44.0`.

À l'aide de la version 1 de la AWS CLI`aws --version`, exécutez et vérifiez que la version de la AWS CLI est `1.44.0` ou supérieure.

Si la version est inférieure à`1.44.0`, reportez-vous à la section [Installation, mise à jour et désinstallation de la AWS CLI](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-install.html).

## Comment ça marche
<a name="upgrade-mode-how-it-works"></a>

S'il est activé, le mode de débogage de mise à niveau détecte l'utilisation des fonctionnalités mises à jour avec des modifications majeures dans la version 2 de la AWS CLI. Si vous utilisez une commande ou une fonctionnalité répertoriée dans notre [Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) après la mise à niveau vers la version 2 de la AWS CLI, un avertissement s'affichera dans le résultat. La détection des modifications intempestives est basée sur la commande utilisée, les arguments fournis, l'environnement d'exécution (par exemple, les variables d'environnement, les paramètres de configuration, etc.) et, dans certains cas, le contenu ou la configuration des ressources du AWS compte utilisé.

Les avertissements décrivent les actions destinées à éviter les problèmes inattendus liés à la mise à niveau vers la version 2 de la AWS CLI. Après avoir apporté les modifications recommandées par un message d'avertissement, vous pouvez confirmer que la commande a bien été mise à jour en la réexécutant pour vérifier que l'avertissement n'est plus affiché. La résolution des avertissements indique que la commande n'est plus susceptible de subir le changement radical décrit lors de la mise à niveau vers la version 2 de la AWS CLI.

L'exemple suivant montre à quoi ressemblent ces avertissements. Cette commande illustre un exemple d'avertissement. Tout le texte d'avertissement commence par « AWS  CLI V2 UPGRADE WARNING », suivi du message d'avertissement spécifique. Dans ce cas, un avertissement est affiché car la commande s'appuie sur la AWS CLI pour récupérer le contenu de l'URL et utiliser le contenu comme valeur de `--template-body` paramètre, fonctionnalité supprimée dans la version 2 de la AWS CLI.

```
$ 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.
```

Le tableau suivant présente toutes les modifications importantes et explique comment éviter de faire face à une modification radicale dans la version 2 de la AWS CLI. Les actions de correction qui résolvent les avertissements en mode débogage apparaissent en gras. 


| Changement radical | Sur la v1, migrer vers le comportement v2 | Sur la v2, conserver le comportement de la v1 | 
| --- | --- | --- | 
| [Ajout d’une variable d’environnement pour définir l’encodage de fichiers texte](cliv2-migration-changes.md#cliv2-migration-encodingenvvar) | Dédéfinissez les variables PYTHONUTF8 d'PYTHONIOENCODINGenvironnement et. | Définissez la variable d'AWS\$1CLI\$1FILE\$1ENCODINGenvironnement sur le codage spécifié dans la version 1. | 
| [Les paramètres binaires sont transmis en tant que chaînes codées en base64 par défaut.](cliv2-migration-changes.md#cliv2-migration-binaryparam) | Codez la valeur du paramètre en base64. Si le paramètre est chargé depuis un fichier, codez le contenu du fichier en base64. | Réglez le cli\$1binary\$1format paramètre surraw-in-base64-out. | 
| [Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées](cliv2-migration-changes.md#cliv2-migration-s3-copy-metadata) | N/A. Impossible de migrer vers le comportement de la version 2 dans la version 1. | Utilisez le --copy-props none paramètre. | 
| [Aucune récupération automatique de `http://` ou `https://` URLs pour les paramètres](cliv2-migration-changes.md#cliv2-migration-paramfile) | Utilisez curl (ou d'autres outils) pour télécharger le contenu du dans URLs un fichier local. Chargez ensuite le contenu du fichier dans le paramètre avec [file ://](https://docs.aws.amazon.com/cli/v1/userguide/cli-usage-parameters-file.html). Vous pouvez également cli\$1follow\$1urlparam configurer sur false pour spécifier l'URL brute comme valeur du paramètre. | N/A. Impossible de conserver le comportement de la version 1 dans la version 2. | 
| [Pager utilisé par défaut pour toutes les sorties](cliv2-migration-changes.md#cliv2-migration-output-pager) | N/A. Impossible de migrer vers le comportement de la version 2 dans la version 1. | Définissez le cli\$1pager paramètre ou la AWS\$1PAGER variable sur une chaîne vide. | 
| [Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601](cliv2-migration-changes.md#cliv2-migration-timestamp) | Définissez le paramètre cli\$1timestamp \$1format suriso8601. | Réglez le cli\$1timestamp\$1format réglage sur câble. | 
| [Gestion améliorée des CloudFormation déploiements qui n'entraînent aucune modification](cliv2-migration-changes.md#cliv2-migration-cfn) | Utilisez le --no-fail-on-empty-changeset paramètre. | Utilisez le --fail-on-empty-changeset paramètre. | 
| [Modification du comportement par défaut du point de terminaison Amazon S3 régional pour la région `us-east-1`](cliv2-migration-changes.md#cliv2-migration-s3-regional-endpoint) | [Définissez la variable d'`AWS_ENDPOINT_URL_S3`environnement ou l'option de ligne de `--endpoint-url` commande sur l'URL régionale us-east-1.](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) | Utilisez l'option --region aws-global de ligne de commande. | 
| [Retrait de la commande `ecr get-login`, remplacée par `ecr get-login-password`](cliv2-migration-changes.md#cliv2-migration-ecr-get-login) | (1.17.10 ou version ultérieure) Utilisez [Retrait de la commande `ecr get-login`, remplacée par `ecr get-login-password`](cliv2-migration-changes.md#cliv2-migration-ecr-get-login) et dirigez la sortie vers une commande docker. | N/A. Impossible de conserver le comportement de la version 1 dans la version 2. | 
| [AWS CLI le support de la version 2 pour les plugins est en train de changer](cliv2-migration-changes.md#cliv2-migration-profile-plugins) | N/A. Impossible de migrer vers le comportement de la version 2 dans la version 1. | Configurez le [cli\$1legacy\$1plugin\$1path](https://docs.aws.amazon.com/cli/latest/topic/config-vars.html#plugins) dans la section du fichier de configuration. [plugins] Testez les plugins dans la version 2, verrouillez votre version 2 et testez vos plugins à chaque mise à niveau. | 
| [Suppression de la prise en charge des alias masqués](cliv2-migration-changes.md#cliv2-migration-aliases) | Passez de l'alias masqué obsolète à [Suppression de la prise en charge des alias masqués](cliv2-migration-changes.md#cliv2-migration-aliases) celui qui fonctionne dans toutes les versions. | N/A. Impossible de conserver le comportement de la version 1 dans la version 2. | 
| [Paramètre de fichier de configuration `api_versions` non pris en charge](cliv2-migration-changes.md#cliv2-migration-api-versions) | Migrez et testez votre utilisation des anciennes versions d'API vers la dernière version d'API, et supprimez [api\$1versions](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html#cli-config-api_versions) de vos paramètres de configuration. | N/A. Impossible de conserver le comportement de la version 1 dans la version 2. | 
| [AWS CLI la version 2 utilise uniquement Signature v4 pour authentifier les demandes Amazon S3](cliv2-migration-changes.md#cliv2-migration-sigv4) | Spécifiez la version de signature jusqu'à la version 4 (voir [Spécification de la version de signature dans l'authentification de la demande)](https://docs.aws.amazon.com/AmazonS3/latest/API/specify-signature-version.html). | N/A. Impossible de conserver le comportement de la version 1 dans la version 2. | 
| [AWS CLI la version 2 est plus cohérente avec les paramètres de pagination](cliv2-migration-changes.md#cliv2-migration-skeleton-paging) | Déplacez les paramètres de pagination du paramètre JSON d'entrée vers la commande elle-même. | Supprimez les paramètres de pagination du paramètre JSON d'entrée. | 
| [AWS CLI la version 2 fournit des codes de retour plus cohérents pour toutes les commandes](cliv2-migration-changes.md#cliv2-migration-return-codes) | N/A. Impossible de migrer vers le comportement de la version 2 dans la version 1. | N/A. Impossible de conserver le comportement de la version 1 dans la version 2. | 

## Limitations
<a name="upgrade-mode-limitations"></a>

Nous recommandons vivement aux clients de consulter notre[Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking).

### Détection de changements brusques non prise en charge
<a name="upgrade-mode-limitations-unsupported-changes"></a>

La fonctionnalité du mode de mise à niveau et de débogage prend en charge toutes les modifications importantes, sauf celle-ci[AWS CLI la version 2 fournit des codes de retour plus cohérents pour toutes les commandes](cliv2-migration-changes.md#cliv2-migration-return-codes). Ce mode ne peut pas expliquer comment vous utilisez les codes d'erreur renvoyés par la AWS CLI en aval.

### Détection des modifications par rupture conditionnelle
<a name="upgrade-mode-limitations-condiditional-changes"></a>

La détection de [Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601](cliv2-migration-changes.md#cliv2-migration-timestamp) est le seul cas où la détection dépend de l'état du AWS compte et peut être sujette à des modifications importantes si les ressources du compte sont mises à jour ultérieurement. Si aucun horodatage n'est inclus dans la réponse de l'API du service, aucune détection ne sera effectuée pour cette modification majeure.

Si vous utilisez le format d'horodatage renvoyé par les commandes de la AWS CLI et que vous n'avez pas encore configuré la AWS CLI pour utiliser la norme ISO 8601, prenez des précautions supplémentaires pour vous assurer que le traitement de l'horodatage ne sera pas interrompu après la mise à niveau vers la version 2.

### Détection de changements de rupture irrésolus
<a name="upgrade-mode-limitations-unresolvable-changes"></a>

Certains avertissements générés par le mode de mise à niveau et de débogage ne peuvent pas être résolus en modifiant la commande ou l'environnement. Dans les cas suivants, des avertissements sont toujours émis par le mode de mise à niveau et de débogage tant que vous utilisez la fonctionnalité correspondante :
+ [AWS CLI le support de la version 2 pour les plugins est en train de changer](cliv2-migration-changes.md#cliv2-migration-profile-plugins)- si vous utilisez des plugins dans votre [fichier de configuration](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html), le mode de débogage de mise à niveau affichera toujours un avertissement qui ne pourra pas être résolu. Ce mode ne peut pas garantir que l'un de vos plugins fonctionnera dans la version 2 de la AWS CLI.
+ [Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées](cliv2-migration-changes.md#cliv2-migration-s3-copy-metadata)- s'il `aws s3` est utilisé pour effectuer une copie d' bucket-to-bucketAmazon Amazon S3, le mode de débogage de mise à niveau affichera toujours un avertissement qui ne pourra pas être résolu.

### Fausses détections
<a name="upgrade-mode-limitations-false-detections"></a>

Les avertissements émis par le mode de débogage de mise à niveau ne garantissent pas que des modifications majeures seront apportées après la mise à niveau vers la AWS CLI v2. Vous trouverez ci-dessous les cas où des avertissements seraient émis par le mode de mise à niveau et de débogage, bien qu'aucune modification majeure n'ait été introduite dans la AWS CLI v2 :
+ [Ajout d’une variable d’environnement pour définir l’encodage de fichiers texte](cliv2-migration-changes.md#cliv2-migration-encodingenvvar)- si les variables d'`PYTHONIOENCODING`environnement `PYTHONUTF8` ou sont spécifiées pour définir le codage du fichier texte et que le codage spécifié correspond déjà aux paramètres régionaux installés, l'avertissement peut être une fausse détection car le mode de débogage ne vérifie pas si le codage correspond aux paramètres régionaux installés.
+ [Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées](cliv2-migration-changes.md#cliv2-migration-s3-copy-metadata)- si elle `aws s3` est utilisée pour effectuer une copie bucket-to-bucket Amazon S3 et que la copie n'est pas en plusieurs parties parce que l'objet source est inférieur au [seuil de plusieurs parties,](https://docs.aws.amazon.com/cli/latest/topic/s3-config.html#multipart-threshold) une fausse détection sera émise.
+ [Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601](cliv2-migration-changes.md#cliv2-migration-timestamp)- si le paramètre de configuration cli\$1timestamp\$1format est défini sur wire (par défaut) et qu'un horodatage au format ISO 8601 est renvoyé par le service.
+ [Gestion améliorée des CloudFormation déploiements qui n'entraînent aucune modification](cliv2-migration-changes.md#cliv2-migration-cfn)- si le `--fail-on-empty-changeset` drapeau est utilisé avec la `aws cloudformation deploy` commande et que l'ensemble de modifications obtenu est vide, une fausse détection sera émise. De plus, si le changeset n'est pas vide et n'`--no-fail-on-empty-changeset`est pas utilisé, une fausse détection sera émise.
+ [Modification du comportement par défaut du point de terminaison Amazon S3 régional pour la région `us-east-1`](cliv2-migration-changes.md#cliv2-migration-s3-regional-endpoint)- si `aws s3` ou `aws s3api` est utilisé pour effectuer une opération Amazon S3, que la région est configurée pour, mais que la `s3.us_east_1_regional_endpoint` configuration n'est pas configurée comme régionale`us-east-1`, et que le point de terminaison Amazon S3 mondial est utilisé pour la demande en raison des [paramètres de configuration du point de terminaison](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-endpoints.html#endpoints-precedence), l'avertissement peut être une fausse détection, car le mode de débogage ne vérifie pas les paramètres du point de terminaison configurés.

## Configurer le mode de mise à niveau et de débogage
<a name="upgrade-mode-configure"></a>

Vous pouvez activer ou désactiver le mode de mise à niveau de débogage à l'aide des méthodes suivantes, répertoriées par ordre de priorité :
+ Les options de ligne de commande activent ou désactivent le mode de mise à niveau pour une seule commande. Utilisez [--v2-debug pour utiliser le mode de mise à niveau du débogage](https://docs.aws.amazon.com/cli//latest/userguide/cli-configure-options.html#cli-configure-options-v2-debug).
+ Les variables d'environnement utilisent la variable [AWS\$1CLI\$1UPGRADE\$1DEBUG\$1MODE](https://docs.aws.amazon.com/cli//latest/userguide/cli-configure-envvars.html#envvars-list-aws_cli_upgrade_debug_mode).

# 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
<a name="cli-migration-tool"></a>

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](cliv2-migration.md#using-migration-tools) [Guide de migration pour la AWS CLI version 2](cliv2-migration.md)

Pour plus de détails, voir [Changements majeurs entre AWS CLI la version 1 et AWS CLI la version 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) dans[Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md).

## Fonctionnement
<a name="migration-tool-how-it-works"></a>

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](#migration-tool-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
<a name="migration-tool-prerequisites"></a>

### Python
<a name="migration-tool-prerequisites-python"></a>

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](https://www.python.org/downloads/).

### pip
<a name="migration-tool-prerequisites-pip"></a>

En plus d'avoir installé une version compatible de Python, vous devez l'avoir `pip` installée.

Pour vérifier qu'`pip`il 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.](https://docs.aws.amazon.com/cli/v1/userguide/install-linux.html#install-linux-pip-pip)

## Installation
<a name="migration-tool-installation"></a>

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
<a name="migration-tool-usage"></a>

### Mode de fonctionnement à sec (par défaut)
<a name="migration-tool-usage-dryrun"></a>

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
<a name="migration-tool-usage-autofix"></a>

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
<a name="migration-tool-usage-interactive"></a>

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 `y` pour accepter le correctif suggéré.
+ Entrez `n` pour rejeter le correctif actuel.
+ Entrez `a` pour accepter tous les correctifs du même type.
+ Entrez `r` pour rejeter tous les correctifs du même type.
+ Entrez `u` pour accepter tous les correctifs restants.
+ Entrez `s` pour enregistrer et quitter.
+ Entrez `q` pour 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
<a name="migration-tool-limitations"></a>

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](cliv2-migration-changes.md#cliv2-migration-changes-breaking) publié dans[Nouvelles fonctionnalités et modifications de la AWS CLI version 2](cliv2-migration-changes.md).

### Analyse basée sur le texte
<a name="migration-tool-limitations-static-linter"></a>

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
<a name="migration-tool-limitations-unsupported-changes"></a>

L'étendue de la prise en charge des modifications majeures apportées à l'outil de migration est résumée dans le tableau suivant.


| Un changement radical | Détection prise en charge | Correction automatique prise en charge | 
| --- | --- | --- | 
| [Ajout d’une variable d’environnement pour définir l’encodage de fichiers texte](cliv2-migration-changes.md#cliv2-migration-encodingenvvar) | Non | Non | 
| [Les paramètres binaires sont transmis en tant que chaînes codées en base64 par défaut.](cliv2-migration-changes.md#cliv2-migration-binaryparam) | Oui | Oui | 
| [Amélioration de la gestion par Amazon S3 des propriétés des fichiers et des balises pour les copies partitionnées](cliv2-migration-changes.md#cliv2-migration-s3-copy-metadata) | Oui | Oui | 
| [Aucune récupération automatique de `http://` ou `https://` URLs pour les paramètres](cliv2-migration-changes.md#cliv2-migration-paramfile) | Non | Non | 
| [Pager utilisé par défaut pour toutes les sorties](cliv2-migration-changes.md#cliv2-migration-output-pager) | Oui | Oui | 
| [Normalisation de toutes les valeurs de sortie d’horodatage au format ISO 8601](cliv2-migration-changes.md#cliv2-migration-timestamp) | Non | Non | 
| [Gestion améliorée des CloudFormation déploiements qui n'entraînent aucune modification](cliv2-migration-changes.md#cliv2-migration-cfn) | Oui | Oui | 
| [Modification du comportement par défaut du point de terminaison Amazon S3 régional pour la région `us-east-1`](cliv2-migration-changes.md#cliv2-migration-s3-regional-endpoint) | Non | Non | 
| [Comportement par défaut modifié pour les points de AWS STS terminaison régionaux](cliv2-migration-changes.md#cliv2-migration-sts-regional-endpoint) | Non | Non | 
| [Retrait de la commande `ecr get-login`, remplacée par `ecr get-login-password`](cliv2-migration-changes.md#cliv2-migration-ecr-get-login) | Oui | Non | 
| [AWS CLI le support de la version 2 pour les plugins est en train de changer](cliv2-migration-changes.md#cliv2-migration-profile-plugins) | Non | Non | 
| [Suppression de la prise en charge des alias masqués](cliv2-migration-changes.md#cliv2-migration-aliases) | Oui | Oui | 
| [Paramètre de fichier de configuration `api_versions` non pris en charge](cliv2-migration-changes.md#cliv2-migration-api-versions) | Non | Non | 
| [AWS CLI la version 2 utilise uniquement Signature v4 pour authentifier les demandes Amazon S3](cliv2-migration-changes.md#cliv2-migration-sigv4) | Non | Non | 
| [AWS CLI la version 2 est plus cohérente avec les paramètres de pagination](cliv2-migration-changes.md#cliv2-migration-skeleton-paging) | Oui | Non | 
| [AWS CLI la version 2 fournit des codes de retour plus cohérents pour toutes les commandes](cliv2-migration-changes.md#cliv2-migration-return-codes) | Non | Non | 