Creazione e utilizzo di alias in AWS CLI - AWS Command Line Interface

Creazione e utilizzo di alias in AWS CLI

Gli alias sono scorciatoie che è possibile creare in AWS Command Line Interface (AWS CLI) per abbreviare i comandi o gli script utilizzati di frequente. Gli alias vengono creati nel file alias che si trova nella cartella di configurazione.

Prerequisiti

Per utilizzare i comandi alias, è necessario completare quanto segue:

Fase 1: creazione del file alias

Per creare il file alias, è possibile utilizzare la navigazione dei file e un editor di testo oppure il terminale preferito seguendo la procedura dettagliata. Per creare rapidamente il file alias, usa il seguente blocco di comandi.

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
Per creare il file alias
  1. Crea una cartella denominata cli nella cartella di configurazione AWS CLI. Per impostazione predefinita, la cartella di configurazione è ~/.aws/ su Linux o macOS e %USERPROFILE%\.aws\ su Windows. Puoi crearlo tramite la navigazione dei file o utilizzando il comando seguente.

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

    Il percorso predefinito della cartella cli risultante è ~/.aws/cli/ su Linux o macOS e %USERPROFILE%\.aws\cli su Windows.

  2. Nella cartella cli, crea un file di testo denominato alias senza estensione e aggiungi [toplevel] alla prima riga. È possibile creare questo file tramite l’editor di testo preferito o utilizzare il seguente comando.

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

Fase 2: creazione di un alias

Puoi creare un alias usando comandi di base o script Bash.

Creazione di un alias di comando di base

Puoi creare il codice alias aggiungendo un comando con la sintassi seguente nel file alias creato nella fase precedente.

Sintassi

aliasname = command [--options]

aliasname è chiamato alias. command è il comando da chiamare, che può includere altri alias. È possibile includere opzioni o parametri nell’alias o aggiungerli quando si chiama l’alias.

L’esempio seguente crea un alias denominato aws whoami utilizzando il comando aws sts get-caller-identity. Poiché questo alias richiama un comando della AWS CLI esistente, è possibile scrivere il comando senza il prefisso aws.

whoami = sts get-caller-identity

L’esempio seguente riprende l’esempio whoami precedente e aggiunge le opzioni di filtro Account e testo output.

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

Creazione di un alias di sottocomando

Nota

La funzionalità degli alias dei sottocomandi richiede una versione minima della AWS CLI 1.11.24 o 2.0.0

È possibile creare un alias per i sottocomandi aggiungendo un comando utilizzando la seguente sintassi nel file alias creato nella fase precedente.

Sintassi

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

commandGroup è il namespace dei comandi, ad esempio il comando aws ec2 describe-regions si trova nel gruppo di comandi ec2. aliasname è chiamato alias. command è il comando da chiamare, che può includere altri alias. È possibile includere opzioni o parametri nell’alias o aggiungerli quando si chiama l’alias.

L’esempio seguente crea un alias denominato aws ec2 regions utilizzando il comando aws ec2 describe-regions. Poiché questo alias richiama un comando AWS CLI esistente sotto il namespace del comando ec2, è possibile scrivere il comando senza il prefisso aws ec2.

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

Per creare alias da comandi esterni al namespace dei comandi, aggiungi un punto esclamativo al comando completo. L’esempio seguente crea un alias denominato aws ec2 instance-profiles utilizzando il comando aws iam list-instance-profiles.

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

Gli alias utilizzano solo gli spazi dei namespace esistenti e non è possibile crearne di nuovi. Ad esempio, non è possibile creare un alias con la sezione [command johnsmith] poiché il namespace del comando johnsmith non esiste già.

Creare un alias di scripting Bash

avvertimento

Per utilizzare gli script Bash dell’alias della AWS CLI, è necessario utilizzare un terminale compatibile con Bash

È possibile creare un alias utilizzando gli script Bash per processi più avanzati utilizzando la seguente sintassi.

Sintassi

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

L’aliasname è ciò che chiami alias e il contenuto dello script è lo script che desideri eseguire quando chiami l’alias.

L’esempio seguente utilizza opendns per visualizzare l’indirizzo IP corrente. Poiché è possibile utilizzare alias in altri alias, il seguente alias myip è utile per consentire o revocare l’accesso all’indirizzo IP dall’interno di altri alias.

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

Il seguente esempio di script chiama l’alias aws myip precedente per autorizzare il tuo indirizzo IP all’ingresso di un gruppo di sicurezza 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

Quando chiami degli alias che utilizzano lo scripting Bash, le variabili vengono sempre passate nell’ordine in cui le hai inserite. Nello scripting Bash, i nomi delle variabili non vengono presi in considerazione, ma solo l’ordine in cui appaiono. Nel seguente esempio di alias textalert, la variabile per l’opzione --message è la prima e l’opzione --phone-number è la seconda.

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

Fase 3: chiamata di un alias

Per eseguire l’alias creato nel file alias, utilizza la seguente sintassi. Puoi aggiungere opzioni aggiuntive quando chiami il tuo alias.

Sintassi

$ aws aliasname

Il seguente esempio utilizza il comando alias aws whoami.

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

L’esempio seguente utilizza l’alias aws whoami con opzioni aggiuntive per restituire solo il numero di Account nell’output text.

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

L’esempio seguente utilizza l’alias del sottocomando aws ec2 regions.

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

Chiamare un alias usando variabili di scripting Bash

Quando chiami degli alias che utilizzano lo scripting Bash, le variabili vengono passate nell’ordine in sono state inserite. Nello scripting Bash, i nomi delle variabili non vengono presi in considerazione, ma solo l’ordine in cui appaiono. Ad esempio, nel seguente alias textalert, la variabile per l’opzione --message è la prima e --phone-number è la seconda.

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

Quando chiami l’alias textalert, è necessario passare le variabili nello stesso ordine in cui vengono eseguite nell’alias. Nell’esempio seguente utilizziamo le variabili $message e $phone. La variabile $message viene passata come ${1} per l’opzione --message e la variabile $phone viene passata come ${2} per l’opzione --phone-number. Ciò comporta la corretta chiamata all’alias textalert per inviare un messaggio.

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

Nell’esempio seguente, l’ordine viene cambiato quando chiami l’alias in $phone e$message. La variabile $phone viene passata come ${1} per l’opzione --message e la variabile $message viene passata come ${2} per l’opzione --phone-number. Poiché le variabili non sono ordinate, l’alias le passa in modo errato. Ciò causa un errore perché il contenuto di $message non corrisponde ai requisiti di formattazione del numero di telefono per l’opzione --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

Esempi di repository di alias

Il repository di alias della AWS CLI su GitHub contiene esempi di alias della AWS CLI creati dal team di sviluppatori della AWS CLI e dalla community. Puoi utilizzare l’intero esempio di file alias o utilizzare singoli alias per uso personale.

avvertimento

L’esecuzione dei comandi in questa sezione elimina il file esistente alias. Per evitare di sovrascrivere il file alias esistente, modifica la posizione di download.

Per utilizzare gli alias del repository
  1. Installa Git. Per le istruzioni di installazione, consulta Getting Started - Installing Git nella documentazione di Git.

  2. Installa il comando jp. Il comando jp viene utilizzato nell’alias tostring. Per le istruzioni di installazione, consulta il file JMESPath (jp) README.md su GitHub.

  3. Installa il comando jq. Il comando jq viene utilizzato nell’alias tostring-with-jq. Per le istruzioni di installazione, consulta JSON processor (jq) su GitHub.

  4. Scarica il file alias in uno dei seguenti modi:

    • Esegui i seguenti comandi che vengono scaricati dal repository e copia il file alias nella cartella di configurazione.

      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
    • Scaricalo direttamente dal repository e salvalo nella cartella cli della cartella di configurazione AWS CLI. Per impostazione predefinita, la cartella di configurazione è ~/.aws/ su Linux o macOS e %USERPROFILE%\.aws\ su Windows.

  5. Per verificare che gli alias funzionino, esegui il seguente alias.

    $ aws whoami

    Viene visualizzata la stessa risposta del comando aws sts get-caller-identity:

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

Risorse