Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.
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à.
Caricamento dei parametri da un file in AWS CLI
Alcuni parametri prevedono i nomi dei file come argomenti, dai quali vengono AWS CLI caricati i dati. Altri parametri consentono di specificare il valore del parametro come testo digitato sulla riga di comando o letto da un file. Indipendentemente dal fatto che un file sia obbligatorio o facoltativo, è necessario codificarlo correttamente in modo che AWS CLI possano comprenderlo. La codifica del file deve corrispondere alle impostazioni locali predefinite del sistema di lettura. È possibile determinarlo utilizzando il metodo Pythonlocale.getpreferredencoding()
.
Nota
Per impostazione predefinita, Windows PowerShell restituisce il testo come UTF -16, il che è in conflitto con la codifica UTF -8 utilizzata dai JSON file e da molti sistemi Linux. Si consiglia di utilizzarlo -Encoding ascii
con i PowerShell Out-File
comandi per assicurarsi che siano in AWS CLI grado di leggere il file risultante.
Come caricare i parametri da un file
A volte è conveniente caricare il valore di un parametro da un file anziché provare a digitarlo tutto come valore di parametro della riga di comando, ad esempio quando il parametro è una JSON stringa complessa. Per specificare un file che contiene il valore, specificate un file URL nel formato seguente.
file://
complete/path/to/file
-
I primi due caratteri di barra" /" fanno parte della specifica. Se il percorso richiesto inizia con "/", il risultato conterrà tre caratteri di barra:
file://
./folder/file
-
URLfornisce il percorso del file che contiene il contenuto effettivo dei parametri.
-
Quando utilizzate file con spazi o caratteri speciali, seguite le regole di virgolette ed escape previste dal vostro terminale.
Nota
Questo comportamento è disabilitato automaticamente per i parametri che già prevedono unURL, ad esempio il parametro che identifica un modello. AWS CloudFormation URL Puoi anche disabilitare questo comportamento disabilitando l'cli_follow_urlparamimpostazione nel tuo AWS CLI file di configurazione.
I percorsi di file specificati nei seguenti esempi vengono interpretati come relativi alla directory di lavoro corrente.
L'opzione del prefisso file://
supporta le espansioni in stile Unix, tra cui "~/
", "./
" e "../
". In Windows l'espressione "~/
" si espande alla directory utente, archiviata nella variabile di ambiente %USERPROFILE%
. Ad esempio, in Windows 10 in genere è presente una directory utente in C:\Users\
.UserName
\
È comunque necessario evitare JSON i documenti incorporati come valore di un altro JSON documento.
$
aws sqs create-queue --queue-name my-queue --attributes
file://attributes.json
attributes.json
{ "RedrivePolicy": "{
\
"deadLetterTargetArn\
":\
"arn:aws:sqs:us-west-2:0123456789012:deadletter\
",\
"maxReceiveCount\
":\
"5\
"}" }
File binari
Per i comandi che richiedono dati binari come parametro, è necessario specificare che i dati sono contenuto binario mediante il prefisso fileb://
. I comandi che accettano i dati binari includono:
-
aws ec2 run-instances:
--user-data
parametro. -
aws s3api put-object:
--sse-customer-key
parametro. -
aws kms decrypt:
--ciphertext-blob
parametro.
L'esempio seguente genera una AES chiave binaria a 256 bit utilizzando uno strumento da riga di comando Linux, quindi la fornisce ad Amazon S3 per crittografare un file caricato lato server.
$
dd if=/dev/urandom bs=1 count=32 > sse.key
32+0 records in 32+0 records out 32 bytes (32 B) copied, 0.000164441 s, 195 kB/s
$
aws s3api put-object \ --bucket amzn-s3-demo-bucket \ --key test.txt \ --body test.txt \
--sse-customer-key fileb://sse.key
\ --sse-customer-algorithm AES256{ "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\"" }
File remoti
Supporta AWS CLI anche il caricamento dei parametri da un file ospitato su Internet con un or. http://
https://
URL L'esempio seguente fa riferimento a un file archiviato in un bucket Amazon S3. Questo consente di accedere ai file di parametri da qualsiasi computer, ma richiede che il container sia accessibile pubblicamente.
$
aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings
http://amzn-s3-demo-bucket.s3.amazonaws.com/filename.json
L'esempio precedente presuppone che il file filename.json
contenga i seguenti dati. JSON
[ { "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } } ]
Per un altro esempio di riferimento a un file contenente parametri JSON -formatted, vedere. Allegare una politica IAM gestita a un utente