Création et utilisation d’alias dans l’AWS CLI - AWS Command Line Interface

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.

Création et utilisation d’alias dans l’AWS CLI

Les alias sont des raccourcis que vous pouvez créer dans l’AWS Command Line Interface (AWS CLI) pour raccourcir les commandes ou les scripts que vous utilisez fréquemment. Vous créez des alias dans le fichier alias situé dans votre dossier de configuration.

Prérequis

Pour utiliser les commandes d’alias, vous devez respecter les exigences suivantes :

Étape 1 : création du fichier d’alias

Pour créer le fichier alias, vous pouvez utiliser la navigation dans les fichiers et un éditeur de texte, ou utiliser votre terminal préféré en suivant la procédure étape par étape. Pour créer rapidement votre fichier d’alias, utilisez le bloc de commande suivant.

Linux and macOS
$ mkdir -p ~/.aws/cli $ echo '[toplevel]' > ~/.aws/cli/alias
Windows
C:\> md %USERPROFILE%\.aws\cli C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias
Pour créer le fichier d’alias
  1. Créez un dossier nommé cli dans le dossier de configuration AWS CLI. Par défaut, le dossier de configuration est ~/.aws/ sous Linux ou macOS, et %USERPROFILE%\.aws\ sous Windows. Vous pouvez le créer par le biais de votre navigation dans les fichiers ou à l’aide de la commande suivante.

    Linux and macOS
    $ mkdir -p ~/.aws/cli
    Windows
    C:\> md %USERPROFILE%\.aws\cli

    Le chemin par défaut du dossier cli obtenu est ~/.aws/cli/ sous Linux ou macOS, et %USERPROFILE%\.aws\cli sous Windows.

  2. Dans le dossier cli, créez un fichier texte nommé alias sans extension et ajoutez [toplevel] à la première ligne. Vous pouvez créer ce fichier via votre éditeur de texte préféré ou utiliser la commande suivante.

    Linux and macOS
    $ echo '[toplevel]' > ~/.aws/cli/alias
    Windows
    C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias

Étape 2 : création d’un alias

Vous pouvez créer un alias à l’aide de commandes de base ou de scripts bash.

Création d’un alias de commande de base

Vous pouvez créer votre alias en ajoutant une commande à l’aide de la syntaxe suivante dans le fichier alias que vous avez créé à l’étape précédente.

Syntaxe

aliasname = command [--options]

nomalias est le nom par lequel vous appelez votre alias. commande est la commande que vous souhaitez appeler, qui peut inclure d’autres alias. Vous pouvez inclure des options ou des paramètres dans votre alias, ou les ajouter lorsque vous appelez votre alias.

L’exemple suivant crée un alias nommé aws whoami à l’aide de la commande aws sts get-caller-identity. Comme cet alias appelle une commande existante de l’AWS CLI, vous pouvez écrire la commande sans le préfixe aws.

whoami = sts get-caller-identity

L’exemple suivant reprend l’exemple whoami précédent et ajoute le filtre Account et les options output de texte.

whoami2 = sts get-caller-identity --query Account --output text

Création d’un alias de sous-commande

Note

La fonctionnalité d’alias de sous-commande nécessite une version minimale 1.11.24 ou 2.0.0 de l’AWS CLI.

Vous pouvez créer un alias pour des sous-commandes en ajoutant une commande à l’aide de la syntaxe suivante dans le fichier alias que vous avez créé à l’étape précédente.

Syntaxe

[command commandGroup] aliasname = command [--options]

commandGroup est l’espace de noms des commandes, par exemple, la commande aws ec2 describe-regions se trouve sous le groupe de commandes ec2. nomalias est le nom par lequel vous appelez votre alias. commande est la commande que vous souhaitez appeler, qui peut inclure d’autres alias. Vous pouvez inclure des options ou des paramètres dans votre alias, ou les ajouter lorsque vous appelez votre alias.

L’exemple suivant crée un alias nommé aws ec2 regions à l’aide de la commande aws ec2 describe-regions. Comme cet alias appelle une commande existante de l’AWS CLI dans l’espace de noms de commande ec2, vous pouvez écrire la commande sans le préfixe aws ec2.

[command ec2] regions = describe-regions --query Regions[].RegionName

Pour créer des alias à partir de commandes situées en dehors de l’espace de noms des commandes, préfixez la commande complète avec un point d’exclamation. L’exemple suivant crée un alias nommé aws ec2 instance-profiles à l’aide de la commande aws iam list-instance-profiles.

[command ec2] instance-profiles = !aws iam list-instance-profiles
Note

Les alias utilisent uniquement les espaces de noms de commande existants et vous ne pouvez pas en créer de nouveaux. Par exemple, vous ne pouvez pas créer d’alias avec la section [command johnsmith], car l’espace de noms de commande johnsmith n’existe pas déjà.

Création d’un alias de script bash

Avertissement

Pour utiliser des scripts bash d’alias AWS CLI, vous devez utiliser un terminal compatible avec bash

Vous pouvez créer un alias à l’aide de scripts bash pour des processus plus avancés en utilisant la syntaxe suivante.

Syntaxe

aliasname = !f() { script content }; f

nomalias est le nom par lequel vous appelez votre alias et contenu du script est le script que vous souhaitez exécuter lorsque vous appelez l’alias.

L’exemple suivant utilise opendns pour générer votre adresse IP actuelle. Comme vous pouvez utiliser des alias dans d’autres alias, l’alias myip suivant est utile pour autoriser ou révoquer l’accès à votre adresse IP depuis d’autres alias.

myip = !f() { dig +short myip.opendns.com @resolver1.opendns.com }; f

L’exemple de script suivant appelle l’alias aws myip précédent pour autoriser votre adresse IP pour l’entrée d’un groupe de sécurité Amazon EC2.

authorize-my-ip = !f() { ip=$(aws myip) aws ec2 authorize-security-group-ingress --group-id ${1} --cidr $ip/32 --protocol tcp --port 22 }; f

Lorsque vous appelez des alias utilisant des scripts bash, les variables sont toujours transmises dans l’ordre dans lequel vous les avez saisies. Dans les scripts bash, les noms des variables ne sont pas pris en compte, mais uniquement l’ordre dans lequel elles apparaissent. Dans l’exemple d’alias textalert suivant, la variable de l’option --message est la première et l’option --phone-number la deuxième.

textalert = !f() { aws sns publish --message "${1}" --phone-number ${2} }; f

Étape 3 : appel d’un alias

Pour exécuter l’alias que vous avez créé dans votre fichier alias, utilisez la syntaxe suivante. Vous pouvez ajouter des options supplémentaires lorsque vous appelez votre alias.

Syntaxe

$ aws aliasname

L’exemple suivant utilise l’alias de commande aws whoami.

$ aws whoami { "UserId": "A12BCD34E5FGHI6JKLM", "Account": "1234567890987", "Arn": "arn:aws:iam::1234567890987:user/userName" }

L’exemple suivant utilise l’alias aws whoami avec des options supplémentaires pour renvoyer uniquement le nombre Account dans la sortie text.

$ aws whoami --query Account --output text 1234567890987

L’exemple suivant utilise l’alias de sous-commande aws ec2 regions.

$ aws ec2 regions [ "ap-south-1", "eu-north-1", "eu-west-3", "eu-west-2", ...

Appel d’un alias à l’aide de variables de script bash

Lorsque vous appelez des alias utilisant des scripts bash, les variables sont toujours transmises dans l’ordre dans lequel vous les avez saisies. Dans les scripts bash, le nom des variables n’est pas pris en compte, mais uniquement l’ordre dans lequel elles apparaissent. Dans l’exemple d’alias textalert suivant, la variable de l’option --message est la première et l’option --phone-number la deuxième.

textalert = !f() { aws sns publish --message "${1}" --phone-number ${2} }; f

Lorsque vous appelez l’alias textalert, vous devez transmettre les variables dans le même ordre que celui dans lequel elles sont exécutées dans l’alias. Dans l’exemple suivant, nous utilisons les variables $message et $phone. La variable $message est transmise sous la forme ${1} pour l’option --message et la variable $phone est transmise sous la forme ${2} pour l’option --phone-number. Cela permet d’appeler avec succès l’alias textalert afin d’envoyer un message.

$ aws textalert $message $phone { "MessageId": "1ab2cd3e4-fg56-7h89-i01j-2klmn34567" }

Dans l’exemple suivant, l’ordre est changé lors de l’appel de l’alias à $phone et $message. La variable $phone est transmise sous la forme ${1} pour l’option --message et la variable $message est transmise sous la forme ${2} pour l’option --phone-number. Comme les variables ne sont pas dans l’ordre, l’alias les transmet de manière incorrecte. Cela provoque une erreur, car le contenu de $message ne correspond pas aux exigences de formatage des numéros de téléphone pour l’option --phone-number.

$ aws textalert $phone $message usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help Unknown options: text

Exemples de référentiel d’alias

Le Référentiel des alias de l’AWS CLI sur GitHub contient des exemples d’alias de l’AWS CLI créés par l’équipe de développeurs et la communauté de l’AWS CLI. Vous pouvez utiliser l’exemple de fichier alias complet ou utiliser des alias individuels pour votre propre usage.

Avertissement

L’exécution des commandes de cette section supprime votre fichier alias existant. Pour éviter de remplacer votre fichier d’alias existant, modifiez l’emplacement de votre téléchargement.

Pour utiliser les alias du référentiel
  1. Installez Git. Pour les instructions d’installation, consultez Getting Started - Installing Git dans la documentation Git.

  2. Installez la commande jp. La commande jp est utilisée dans l’alias tostring. Pour les instructions d’installation, consultez JMESPath (jp) README.md sur GitHub.

  3. Installez la commande jq. La commande jq est utilisée dans l’alias tostring-with-jq. Pour les instructions d’installation, consultez JSON processor (jq) sur GitHub.

  4. Téléchargez le fichier alias en effectuant l’une des actions suivantes :

    • Exécutez les commandes suivantes pour télécharger le fichier alias depuis le référentiel et le copier dans votre dossier de configuration.

      Linux and macOS
      $ git clone https://github.com/awslabs/awscli-aliases.git $ mkdir -p ~/.aws/cli $ cp awscli-aliases/alias ~/.aws/cli/alias
      Windows
      C:\> git clone https://github.com/awslabs/awscli-aliases.git C:\> md %USERPROFILE%\.aws\cli C:\> copy awscli-aliases\alias %USERPROFILE%\.aws\cli
    • Téléchargez-le directement depuis le référentiel et enregistrez-le dans le dossier cli de votre dossier de configuration AWS CLI. Par défaut, le dossier de configuration est ~/.aws/ sous Linux ou macOS, et %USERPROFILE%\.aws\ sous Windows.

  5. Pour vérifier que les alias fonctionnent, exécutez l’alias suivant.

    $ aws whoami

    Cela affiche la même réponse que la commande aws sts get-caller-identity :

    { "Account": "012345678901", "UserId": "AIUAINBADX2VEG2TC6HD6", "Arn": "arn:aws:iam::012345678901:user/myuser" }

Ressources