

**Questa documentazione è valida AWS CLI solo per la versione 1.**

Abbiamo annunciato l' end-of-supportimminente rilascio della AWS CLI versione 1. Ti consigliamo di migrare alla AWS CLI versione 2. [Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio.](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/) Per la documentazione relativa alla versione 2 di AWS CLI, consulta la [Guida per l'utente della versione 2](https://docs.aws.amazon.com/cli/latest/userguide/).

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 di un parametro da un file nel AWS CLI
<a name="cli-usage-parameters-file"></a>

Alcuni parametri prevedono nomi di 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 determinarle usando il metodo Python `locale.getpreferredencoding()`.

Questo metodo serve per caricare un file per un singolo parametro. Per informazioni sul caricamento di più parametri con un singolo file, consulta[AWS CLI scheletri e file di input nel AWS CLI](cli-usage-skeleton.md).

**Nota**  
Per impostazione predefinita, Windows PowerShell emette il testo come UTF-16, il che è in conflitto con la codifica UTF-8 utilizzata dai file JSON e da molti sistemi Linux. Si consiglia di utilizzarlo `-Encoding ascii` con i PowerShell `Out-File` comandi per assicurarsi che siano in grado di leggere il file risultante. AWS CLI 

**Topics**
+ [

## Come caricare un parametro da un file
](#cli-usage-parameters-file-how)
+ [

## File binari
](#cli-usage-parameters-file-binary)
+ [

## File remoti
](#cli-usage-parameters-file-remote)
+ [

## Caricamento di un file come valore di sintassi abbreviata
](#cli-usage-parameters-file-shorthand)

## Come caricare un parametro da un file
<a name="cli-usage-parameters-file-how"></a>

In alcuni casi, ad esempio quando il parametro è una stringa JSON complessa, è utile caricare il valore di un parametro da un file anziché provare a digitarlo come valore di parametro della riga di comando. Per specificare un file che contiene il valore, specifica un URL di file 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`.
+ L'URL fornisce il percorso del file con il contenuto del parametro effettivo. 
+ Quando utilizzi dei file con spazi o caratteri speciali, segui le [regole di escape e di utilizzo delle virgolette](cli-usage-parameters-quoting-strings.md) del tuo terminale. 

**Nota**  
Questo comportamento è disattivato automaticamente per i parametri che già prevedono un URL, ad esempio il parametro che identifica l'URL di un CloudFormation modello. Puoi anche disabilitare questo comportamento disabilitando l'[`cli_follow_urlparam`](cli-configure-files.md#cli-config-cli_follow_urlparam)impostazione nel tuo AWS CLI file di configurazione.

I percorsi di file specificati nei seguenti esempi vengono interpretati come relativi alla directory di lavoro corrente.

------
#### [ Linux or macOS ]

```
// Read from a file in the current directory
$ aws ec2 describe-instances --filters file://filter.json

// Read from a file in /tmp
$ aws ec2 describe-instances --filters file:///tmp/filter.json

// Read from a file with a filename with whitespaces
$ aws ec2 describe-instances --filters 'file://filter content.json'
```

------
#### [ Windows command prompt ]

```
// Read from a file in C:\temp
C:\> aws ec2 describe-instances --filters file://C:\temp\filter.json

// Read from a file with a filename with whitespaces
C:\> aws ec2 describe-instances --filters "file://C:\temp\filter content.json"
```

------

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 `%USERPROFILE%`.

Nei documenti JSON incorporati come valore di un altro documento JSON deve essere comunque inserito il carattere di escape.

```
$ 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
<a name="cli-usage-parameters-file-binary"></a>

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: 
+  Parametro `--user-data` **`aws ec2 run-instances:`**. 
+  Parametro `--sse-customer-key` **`aws s3api put-object:`**. 
+  Parametro `--ciphertext-blob` **`aws kms decrypt:`**. 

Nell’esempio seguente viene generata una chiave AES binaria da 256 bit mediante uno strumento a riga di comando Linux che vien poi fornita ad Amazon S3 per crittografare un file caricato sul 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
<a name="cli-usage-parameters-file-remote"></a>

Supporta AWS CLI anche il caricamento dei parametri da un file ospitato su Internet con un `https://` URL `http://` or. L’esempio seguente fa riferimento a un file archiviato in un bucket di 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
```

Nell'esempio precedente si presume che il file `filename.json` contenga i seguenti dati JSON.

```
[
  {
    "DeviceName": "/dev/sdb",
    "Ebs": {
      "VolumeSize": 20,
      "DeleteOnTermination": false,
      "VolumeType": "standard"
    }
  }
]
```

Per un altro esempio che fa riferimento a un file contenente parametri in formato JSON più complessi, consulta [Collegamento di una policy IAM gestita a un utente](cli-services-iam.md#cli-services-iam-policy). 

## Caricamento di un file come valore di sintassi abbreviata
<a name="cli-usage-parameters-file-shorthand"></a>

Quando si utilizza una sintassi abbreviata in cui un valore è grande o complesso, è spesso più semplice caricarlo in un file 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. L’esempio seguente mostra una coppia chiave-valore che carica un file per il relativo valore.

------
#### [ Linux or macOS ]

```
--option key@=file://template.txt
```

------
#### [ Windows ]

```
--option "key1@=file://template.txt"
```

------

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
```

Per ulteriori informazioni sulla sintassi abbreviata, consulta [Utilizzo della sintassi abbreviata in AWS CLI](cli-usage-shorthand.md).