Crear y usar atajos de AWS CLI comandos llamados alias - AWS Command Line Interface

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear y usar atajos de AWS CLI comandos llamados alias

Los alias son atajos que puedes crear en AWS Command Line Interface (AWS CLI) para acortar los comandos o scripts que utilizas con frecuencia. Puede crear alias en el campo alias ubicado en la carpeta de configuración.

Requisitos previos

Para utilizar los comandos de alias, debe seguir estos pasos:

Paso 1: Creación del archivo de alias

Para crear el alias archivo, puede usar la navegación de archivos y un editor de texto, o usar la terminal que prefiera mediante el procedimiento. step-by-step Para crear rápidamente el archivo de alias, utilice el siguiente bloque de comandos.

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
Para crear el archivo de alias
  1. Cree una carpeta con un nombre cli en su carpeta AWS CLI de configuración. De forma predeterminada, la carpeta de configuración es ~/.aws/ en Linux o macOS y %USERPROFILE%\.aws\ en Windows. Puede crearla a través de la navegación de archivos o mediante el siguiente comando.

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

    La ruta predeterminada resultante de la carpeta cli es ~/.aws/cli/ en Linux o macOS y %USERPROFILE%\.aws\cli en Windows.

  2. En la carpeta cli, cree un archivo de texto con el nombre alias sin extensión y agréguele [toplevel] a la primera línea. Puede crear este archivo a través de su editor de texto preferido o utilizar el siguiente comando.

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

Paso 2: Creación de un alias

Puede crear un alias mediante comandos básicos o scripting de bash.

Creación de un alias de comando básico

Puede crear su alias agregando un comando con la siguiente sintaxis en el archivo alias que creó en el paso anterior.

Sintaxis

aliasname = command [--options]

La aliasname es como llamas a tu alias. La command es el comando al que desea llamar, que puede incluir otros alias. Puede incluir opciones o parámetros en su alias, o agregarlos al llamar a su alias.

En el siguiente ejemplo se muestra cómo crear un alias llamado aws whoami con el comando aws sts get-caller-identity. Dado que este alias llama a un comando AWS CLI existente, puede escribir el comando sin el prefijo aws.

whoami = sts get-caller-identity

En el siguiente ejemplo se toma el ejemplo anterior whoami y se agregan las opciones de filtro Account y texto output.

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

Creación de un alias de subcomando

nota

La función de alias de los subcomandos requiere una AWS CLI versión mínima de 1.11.24 o 2.0.0

Puede crear un alias para subcomandos si agrega un comando mediante la siguiente sintaxis en el archivo alias que creó en el paso anterior.

Sintaxis

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

La commandGroup es el espacio de nombres de comandos, por ejemplo, el comando está en el grupo de comandosaws ec2 describe-regions. ec2 La aliasname es lo que llamas a tu alias. La command es el comando al que desea llamar, que puede incluir otros alias. Puede incluir opciones o parámetros en su alias, o agregarlos al llamar a su alias.

En el siguiente ejemplo se muestra cómo crear un alias llamado aws ec2 regions con el comando aws ec2 describe-regions. Dado que este alias llama a un comando AWS CLI existente en el espacio de nombres de comando ec2, puede escribir el comando sin el prefijo aws ec2.

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

Para crear alias de comandos fuera del espacio de nombres del comando, anteponga al comando completo un signo de exclamación. En el siguiente ejemplo se muestra cómo crear un alias llamado aws ec2 instance-profiles con el comando aws iam list-instance-profiles.

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

Los alias solo utilizan espacios de nombres de comando existentes y no puede crear nuevos. Por ejemplo, no puede crear un alias con la sección [command johnsmith] ya que el espacio de nombres de comando johnsmith no existe.

Creación de un alias de scripting bash

aviso

Para usar scripts bash de AWS CLI alias, debes usar un terminal compatible con bash

Puede crear un alias utilizando scripts bash para procesos más avanzados utilizando la siguiente sintaxis.

Sintaxis

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

La aliasname es como llamas a tu alias y script content es el script que desea ejecutar cuando llame al alias.

El siguiente ejemplo utiliza opendns para generar la dirección IP actual. Dado que puede usar alias en otros alias, el siguiente alias myip es útil para permitir o revocar el acceso a su dirección IP desde otros alias.

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

El siguiente ejemplo de script llama al aws myip alias anterior para autorizar la entrada de un grupo de EC2 seguridad de Amazon a su dirección IP.

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

Cuando llama a alias que usan scripting de Bash, las variables siempre se pasan en el orden en que las ingresó. En el scripting de Bash, los nombres de las variables no se tienen en cuenta, solo el orden en que aparecen. En los siguientes ejemplos de alias textalert, la variable para la opción --message es la primera y la opción --phone-number es la segunda.

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

Paso 3: Cómo llamar a un alias

Para ejecutar el alias que creó en su archivo alias utilice la siguiente sintaxis. Puede agregar opciones adicionales al llamar a su alias.

Sintaxis

$ aws aliasname

En el siguiente ejemplo se utiliza el alias de comando aws whoami.

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

El siguiente ejemplo utiliza el alias aws whoami con opciones adicionales para devolver solo el número Account en la salida text.

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

En el siguiente ejemplo se utiliza el alias de subcomando aws ec2 regions.

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

Cómo llamar a un alias usando variables de scripting de Bash

Cuando se llama a alias que usan scripting de Bash, las variables se pasan en el orden en que se introducen. En el scripting de Bash, el nombre de las variables no se tiene en cuenta, solo el orden en que aparecen. Por ejemplo, en el siguiente alias textalert, la variable de la opción --message está primera y --phone-number está segunda.

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

Cuando llama al alias textalert, debe pasar variables en el mismo orden en que se ejecutan en el alias. En el siguiente ejemplo utilizamos las variables $message y $phone. La variable $message se pasa como ${1} para la opción --message y la variable $phone se pasa como ${2} para la opción --phone-number. Esto da como resultado una llamada correcta al alias textalert para enviar un mensaje.

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

En el siguiente ejemplo, el orden se cambia al llamar al alias para $phone y $message. La variable $phone se pasa como ${1} para la opción --message y la variable $message se pasa como ${2} para la opción --phone-number. Dado que las variables están fuera de servicio, el alias pasa las variables de manera incorrecta. Esto provoca un error porque el contenido de $message no coinciden con los requisitos de formato de número de teléfono para la opción --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

Ejemplos de repositorio de alias

El repositorio de AWS CLI alias de GitHubcontiene ejemplos de AWS CLI alias creados por el equipo de AWS CLI desarrolladores y la comunidad. Puede usar todo el ejemplo del archivo alias o tomar alias individuales para su propio uso.

aviso

Al ejecutar los comandos de esta sección, se elimina su archivo aliasexistente. Para evitar sobrescribir el archivo de alias existente, cambie la ubicación de descarga.

Para utilizar alias del repositorio
  1. Instale Git Para obtener instrucciones de instalación, consulte Introducción - Instalación de Git en la Documentación de Git.

  2. Instale el comando jp. El comando jp se utiliza en el alias tostring. Para obtener instrucciones de instalación, consulte el JMESPatharchivo (jp) README .md en GitHub.

  3. Instale el comando jq. El comando jq se utiliza en el alias tostring-with-jq. Para obtener instrucciones de instalación, consulte el JSONprocesador (jq) en. GitHub

  4. Descargue el archivo alias de la siguiente manera:

    • Ejecute los siguientes comandos que se descargan del repositorio y se copian el archivo alias en la carpeta de configuración.

      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
    • Descárguelo directamente del repositorio y guárdelo en la cli carpeta de su carpeta AWS CLI de configuración. De forma predeterminada, la carpeta de configuración es ~/.aws/ en Linux o macOS y %USERPROFILE%\.aws\ en Windows.

  5. Para verificar que los alias funcionan, ejecute el siguiente alias.

    $ aws whoami

    Esto muestra la misma respuesta que el comando aws sts get-caller-identity:

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

Recursos