Tipi di parametri comuni nella AWS CLI
Questa sezione descrive alcuni tipi di parametri comuni e il formato tipico richiesto.
In caso di problemi con la formattazione di un parametro per un comando specifico, consulta la guida digitando help dopo il nome del comando. L’aiuto per ogni sottocomando include il nome e la descrizione di un’opzione. Il tipo di parametro dell’opzione è elencato tra parentesi. Per ulteriori informazioni sulla visualizzazione della guida, consulta Accesso all’aiuto e alle risorse per AWS CLI.
I tipi di parametri includono:
Stringa
I parametri stringa possono contenere caratteri alfanumerici, simboli e spazi vuoti del set di caratteri ASCII
Alcuni parametri di stringa accettano i dati binari da un file. Consulta File binari per un esempio.
Timestamp
I timestamp sono formattati in base allo standard ISO 8601DateTime” o “Date”.
$aws ec2 describe-spot-price-history--start-time 2014-10-13T19:00:00Z
I formati accettabili includono:
-
AAAA-MM-GGThh:mm:ss.sssTZD (UTC), ad esempio 2014-10-01T20:30:00.000Z -
AAAA-MM-GGThh:mm:ss.sssTZD (con offset), ad esempio 2014-10-01T12:30:00.000-08:00 -
YYYY-MM-DD, ad esempio, 2014-10-01 -
Tempo Unix in secondi, ad esempio 1412195400. A volte, viene chiamato epoca Unix (Unix epoch)
e rappresenta il numero di secondi dalla mezzanotte del 1 gennaio 1970 UTC.
Per impostazione predefinita, la AWS CLI versione 2 traduce tutti i valori DateTime risposta nel formato ISO 8601.
È possibile impostare il formato del timestamp utilizzando l’impostazione del file cli_timestamp_format.
Elenco
Una o più stringhe separate da spazi. Se uno degli elementi della stringa contiene uno spazio, devi racchiuderlo tra virgolette. Osserva le regole di citazione del tuo terminale per evitare risultati imprevisti.
$aws ec2 describe-spot-price-history--instance-types m1.xlarge m1.medium
Booleano
Flag binario che attiva o disattiva un’opzione. Ad esempio, ec2
describe-spot-price-history ha un parametro --dry-run booleano che, quando specificato, consente di convalidare la query con il servizio anche senza eseguire la query.
$aws ec2 describe-spot-price-history--dry-run
L'output indica se il formato del comando è valido. Questo comando include anche una versione --no-dry-run del parametro, che puoi utilizzare per indicare esplicitamente che il comando deve essere eseguito normalmente, anche se non è necessario includerlo poiché questa è l'impostazione predefinita.
Numero intero
Numero intero senza firma.
$aws ec2 describe-spot-price-history--max-items 5
Binary / blob (oggetto binario di grandi dimensioni) e blob in streaming
Nella AWS CLI, è possibile passare un valore binario come stringa direttamente sulla riga di comando. Esistono due tipi di blob:
Blob
Per passare un valore a un parametro con tipo fileb://, è necessario specificare un percorso di un file locale che contiene i dati binari utilizzando il prefisso blob. I file a cui si fa riferimento utilizzando il prefisso fileb:// vengono sempre trattati come binario non codificato. Il percorso specificato viene interpretato come relativo alla directory di lavoro. Ad esempio, il parametro --plaintext per aws kms encrypt è un blob.
$aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \--plaintext fileb://ExamplePlaintextFile\ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile
Nota
Per la compatibilità con le versioni precedenti, puoi utilizzare il prefisso file://. Esistono due formati utilizzati in base all’impostazione del file cli_binary_format o all’opzione della riga di comando --cli-binary-format:
-
Impostazione predefinita per la AWS CLI versione 2. Se il valore dell’impostazione è
base64, i file a cui si fa riferimento utilizzando il prefissofile://vengono trattati come testo con codifica Base64. -
Impostazione predefinita per la AWS CLI versione 1. Se il valore dell’impostazione è
raw-in-base64-out, i file a cui si fa riferimento utilizzando il prefissofile://vengono letti come testo e quindi la AWS CLI tenta di codificarli in codice binario.
Per ulteriori informazioni, consulta l’impostazione del file cli_binary_format o l’opzione della riga di comando --cli-binary-format.
Blob di streaming
I blob di streaming, ad esempio aws cloudsearchdomain upload-documents non utilizza prefissi. Invece, i parametri dello streaming blob vengono formattati utilizzando il percorso diretto del file. L’esempio seguente utilizza il percorso diretto del file document-batch.json per il comando aws cloudsearchdomain
upload-documents:
$aws cloudsearchdomain upload-documents \ --endpoint-url https://doc-my-domain.us-west-1.cloudsearch.amazonaws.com \ --content-type application/json \ --documentsdocument-batch.json
Eseguire la mappatura
Un set di coppie chiave-valore specificato in formato JSON o utilizzando la sintassi abbreviata dell'interfaccia a riga di comando (CLI). L’esempio JSON seguente legge un elemento da una tabella Amazon DynamoDB denominata my-table con un parametro mappa, --key. Il parametro specifica la chiave primaria denominata id con un valore numerico 1 in una struttura JSON nidificata.
Per un utilizzo JSON più avanzato in una riga di comando, prendi in considerazione l’utilizzo di un processore JSON a riga di comando, ad esempio jq, per creare stringhe JSON. Per ulteriori informazioni su jq, consulta jq repository
$aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'{ "Item": { "name": { "S": "John" }, "id": { "N": "1" } } }
Documento
Nota
La sintassi abbreviata non è compatibile con i tipi di documento.
I tipi di documento vengono utilizzati per inviare dati senza dover incorporare JSON nelle stringhe. Il tipo di documento consente ai servizi di fornire schemi arbitrari per l’utilizzo di tipi di dati più flessibili.
Ciò consente di inviare dati JSON senza la necessità di eseguire l’escape dei valori. Ad esempio, invece di utilizzare il seguente input JSON con escape:
{"document": "{\"key\":true}"}
Puoi utilizzare il seguente tipo di documento:
{"document": {"key": true}}
I valori validi per i tipi di documento
A causa della natura flessibile dei tipi di documento, esistono più tipi di valori validi. I valori validi includono i seguenti:
- Stringa
-
--option'"value"' - Numero
-
--option123--option123.456 - Booleano
-
--optiontrue - Null
-
--optionnull - Array
-
--option'["value1", "value2", "value3"]'--option'["value", 1, true, null, ["key1", 2.34], {"key2": "value2"}]' - Oggetto
-
--option'{"key": "value"}'--option'{"key1": "value1", "key2": 123, "key3": true, "key4": null, "key5": ["value3", "value4"], "key6": {"value5": "value6"}'