Utilizzo della sintassi abbreviata in AWS CLI
AWS Command Line Interface (AWS CLI) può accettare molti parametri delle opzioni in formato JSON. Tuttavia, può essere noioso immettere lunghi elenchi o strutture JSON nella riga di comando. Per agevolare l'operazione, AWS CLI supporta anche una sintassi abbreviata che consente una rappresentazione più semplice dei parametri delle opzioni rispetto a quella che prevede l'utilizzo del formato JSON completo.
Argomenti
Parametri della struttura con coppie chiave-valore
La sintassi abbreviata nell'AWS CLI rende più semplice per gli utenti immettere parametri piatti (strutture non nidificate). Il formato è un elenco separato da virgole di coppie chiave-valore. Assicurati di utilizzare le regole di citazione e di escape appropriate per il tuo terminale poiché la sintassi abbreviata è costituita da stringhe.
Le coppie chiave-valore separate da virgole non devono contenere spazi vuoti. Di seguito è riportato un esempio del comando update-table di Amazon DynamoDB con l’opzione --provisioned-throughput specificata in formato abbreviato.
$aws dynamodb update-table \ --provisioned-throughputReadCapacityUnits=15,WriteCapacityUnits=10\ --table-name MyDDBTable
È l'equivalente dell'esempio seguente in formato JSON.
$aws dynamodb update-table \ --provisioned-throughput'{"ReadCapacityUnits":15,"WriteCapacityUnits":10}'\ --table-name MyDDBTable
Caricamento di un file come valore di sintassi abbreviata
Quando un valore è grande o complesso, è spesso più facile caricarlo come valore. Per caricare un file come valore di sintassi abbreviata, la formattazione cambierà leggermente. Invece di key=value, utilizzerai l’operatore @= al posto dell’operatore =. @= significa per la AWS CLI che il valore deve essere letto come un percorso di file e non come una stringa. Quando si caricano dei file in sintassi abbreviata, si applicano le normali regole di formattazione dei file AWS CLI. L’esempio seguente mostra una coppia chiave-valore che carica un file per il relativo valore.
L’esempio seguente mostra il caricamento di un file di certificato per il comando aws
rolesanywhere create-trust-anchor.
$aws rolesanywhere create-trust-anchor --name TrustAnchor \ --source sourceData={x509CertificateData@=file://root-ca.crt},sourceType="CERTIFICATE_BUNDLE" \ --enabled
Utilizzo della sintassi abbreviata con l'AWS CLI
Puoi specificare i parametri di input in formato elenco in due modi: JSON o abbreviato. La sintassi abbreviata di AWS CLI è stata progettata per rendere più facile il trasferimento di elenchi di numeri, di stringhe o di strutture non nidificate.
Qui viene mostrato il formato di base,in cui i valori nell'elenco sono separati da un solo spazio.
--optionvalue1 value2 value3
È l'equivalente dell'esempio seguente in formato JSON.
--option'[value1,value2,value3]'
Come accennato in precedenza, è possibile specificare un elenco di numeri, un elenco di stringhe o un elenco di strutture non nidificate in forato abbreviato. Di seguito viene riportato un esempio del comando stop-instances per Amazon Elastic Compute Cloud (Amazon EC2), dove il parametro di input (elenco di stringhe) per l’opzione --instance-ids viene specificato in formato abbreviato.
$aws ec2 stop-instances \ --instance-idsi-1486157a i-1286157c i-ec3a7e87
È l'equivalente dell'esempio seguente in formato JSON.
$aws ec2 stop-instances \ --instance-ids'["i-1486157a","i-1286157c","i-ec3a7e87"]'
L’esempio successivo mostra il comando create-tags di Amazon EC2 che utilizza un elenco di strutture non nidificate per l’opzione --tags. L'opzione --resources specifica l'ID dell'istanza da contrassegnare.
$aws ec2 create-tags \ --resources i-1286157c \ --tagsKey=My1stTag,Value=Value1 Key=My2ndTag,Value=Value2 Key=My3rdTag,Value=Value3
È l'equivalente dell'esempio seguente in formato JSON. Il parametro JSON viene scritto su più righe per maggiore leggibilità.
$aws ec2 create-tags \ --resources i-1286157c \ --tags'[ {"Key": "My1stTag", "Value": "Value1"}, {"Key": "My2ndTag", "Value": "Value2"}, {"Key": "My3rdTag", "Value": "Value3"} ]'