Creare e utilizzare scorciatoie di AWS CLI comando chiamate alias - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare e utilizzare scorciatoie di AWS CLI comando chiamate alias

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 alias file 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 alias file, è possibile utilizzare la navigazione dei file e un editor di testo oppure utilizzare il terminale preferito utilizzando la step-by-step procedura. Per creare rapidamente il tuo 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 tua cartella AWS CLI di configurazione. Per impostazione predefinita, la cartella di configurazione si trova ~/.aws/ su Linux o macOS e %USERPROFILE%\.aws\ su Windows. È possibile crearla tramite la navigazione dei file o utilizzando il seguente comando.

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

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

  2. Nella cli cartella, create un file di testo denominato alias senza estensione e aggiungetelo [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: Creare un alias

È possibile creare un alias utilizzando i comandi di base o lo scripting bash.

Creazione di un alias di comando di base

È possibile creare l'alias aggiungendo un comando utilizzando la seguente sintassi nel alias file creato nel passaggio precedente.

Sintassi

aliasname = command [--options]

Il aliasname è quello che chiami il tuo alias. Il command è il comando da chiamare, che può includere altri alias. Puoi includere opzioni o parametri nel tuo alias o aggiungerli quando chiami il tuo alias.

L'esempio seguente crea un alias denominato aws whoami utilizzando il comando. Poiché questo alias chiama un AWS CLI comando esistente, è possibile scrivere il comando senza il aws prefisso.

whoami = sts get-caller-identity

L'esempio seguente riprende l'whoamiesempio precedente e aggiunge le opzioni di Account filtro e testooutput.

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

Creazione di un alias di sottocomando

Nota

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

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

Sintassi

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

Il commandGroup è lo spazio dei nomi dei comandi, ad esempio Il comando si aws ec2 describe-regions trova nel gruppo di comandi. ec2 Il aliasname è quello che chiami il tuo alias. Il command è il comando da chiamare, che può includere altri alias. Puoi includere opzioni o parametri nel tuo alias o aggiungerli quando chiami il tuo alias.

L'esempio seguente crea un alias denominato aws ec2 regions utilizzando il comando. Poiché questo alias chiama un AWS CLI comando esistente nello spazio dei nomi del ec2 comando, è possibile scrivere il comando senza il prefisso. aws ec2

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

Per creare alias da comandi esterni allo spazio dei nomi dei comandi, aggiungete un punto esclamativo al comando completo. L'esempio seguente crea un alias denominato utilizzando il comando. aws ec2 instance-profiles

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

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

Creazione di un alias di scripting bash

avvertimento

Per utilizzare AWS CLI gli alias bash, è 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

Il aliasname è quello che chiami il tuo alias e script content è lo script che vuoi eseguire quando chiami l'alias.

L'esempio seguente lo utilizza opendns per visualizzare l'indirizzo IP corrente. Poiché è possibile utilizzare alias in altri alias, il seguente myip alias è 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'aws myipalias precedente per autorizzare il tuo indirizzo IP per l'ingresso di un gruppo EC2 di sicurezza Amazon.

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 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 textalert alias, la variabile per l'opzione è la prima e --message l'opzione è la seconda--phone-number.

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

Fase 3: Chiamare un alias

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

Sintassi

$ aws aliasname

L'esempio seguente utilizza il aws whoami comando alias.

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

L'esempio seguente utilizza l'aws whoamialias con opzioni aggiuntive per restituire solo il Account numero in text uscita.

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

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

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

Chiamare un alias utilizzando variabili di scripting bash

Quando si chiamano alias che utilizzano lo scripting bash, le variabili vengono passate nell'ordine in cui vengono inserite. Nello scripting bash, il nome delle variabili non viene preso in considerazione, ma solo l'ordine in cui appaiono. Ad esempio, nel seguente textalert alias, la variabile per l'opzione --message è la prima ed --phone-number è la seconda.

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

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

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

Nell'esempio seguente, l'ordine viene cambiato quando si chiama l'alias a and. $phone $message La $phone variabile viene passata come ${1} per l'--messageopzione e la $message variabile viene passata come ${2} per l'--phone-numberopzione. 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 AWS CLI alias GitHubcontiene esempi di AWS CLI alias creati dal team di sviluppatori e dalla AWS CLI community. È possibile utilizzare l'intero esempio di alias file o utilizzare singoli alias per uso personale.

avvertimento

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

Per utilizzare gli alias del repository
  1. Installa Git. Per istruzioni di installazione, vedi Guida introduttiva - Installazione di Git nella documentazione di Git.

  2. Installa il jp comando. Il jp comando viene utilizzato nell'tostringalias. Per le istruzioni di installazione, consultate il file JMESPath(jp) README .md on. GitHub

  3. Installa il comando. jq Il jq comando viene utilizzato nell'tostring-with-jqalias. Per le istruzioni di installazione, vedete il JSONprocessore (jq) acceso. GitHub

  4. Scaricate il alias file effettuando una delle seguenti operazioni:

    • Esegui i seguenti comandi che vengono scaricati dal repository e copia il alias file 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 della tua cli cartella di AWS CLI configurazione. Per impostazione predefinita, la cartella di configurazione si trova ~/.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 aws sts get-caller-identity comando:

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

Risorse