

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à.

# Passaggio 1. Creazione di un file di configurazione JSON
<a name="custom-visual-transform-json-config-file"></a>

 Un file di configurazione JSON è necessario per definire e descrivere la trasformazione visiva personalizzata. Lo schema per il file di configurazione è il seguente. 

## Struttura dei file JSON
<a name="custom-visual-transform-json-file-structure"></a>

 **Campi** 
+  `name: string`: (obbligatorio) il nome del sistema di trasformazione utilizzato per identificare le trasformazioni. Segui le stesse regole di denominazione impostate per i nomi delle variabili python (identificatori). In particolare, devono iniziare con una lettera o un carattere di sottolineatura e quindi essere composti interamente da lettere, cifre, and/or trattini bassi. 
+  `displayName: string`: (facoltativo) il nome della trasformazione visualizzata nell'editor di processi visivi di AWS Glue Studio. Se non viene specificato alcun `displayName`, come nome della trasformazione in AWS Glue Studio viene utilizzato `name`. 
+  `description: string`: (facoltativo) la descrizione della trasformazione viene visualizzata in AWS Glue Studio ed è ricercabile. 
+  `functionName: string`: (obbligatorio) il nome della funzione Python viene utilizzato per identificare la funzione da chiamare nello script Python. 
+  `path: string`: (facoltativo) il percorso completo di Amazon S3 del file sorgente di Python. Se non viene specificato, AWS Glue utilizza il nome del file corrispondente per accoppiare i file .json e .py. Ad esempio, il nome del file JSON, `myTransform.json`, verrà associato al file Python, `myTransform.py`, nella stessa posizione di Amazon S3. 
+  `parameters: Array of TransformParameter object`: (facoltativo) l'elenco dei parametri da visualizzare quando li si configura nell'editor visivo di AWS Glue Studio. 

<a name="transformparameter-fields"></a> **TransformParameter campi** 
+  `name: string`: (obbligatorio) il nome del parametro che verrà passato alla funzione python come argomento denominato nello script del processo. Segui le stesse regole di denominazione impostate per i nomi delle variabili python (identificatori). In particolare, devono iniziare con una lettera o un carattere di sottolineatura e quindi essere composti interamente da lettere, and/or cifre e caratteri di sottolineatura. 
+  `displayName: string`: (facoltativo) il nome della trasformazione visualizzata nell'editor di processi visivi di AWS Glue Studio. Se non viene specificato alcun `displayName`, come nome della trasformazione in AWS Glue Studio viene utilizzato `name`. 
+  `type: string`: (obbligatorio) il tipo di parametro che accetta i tipi di dati Python comuni. I valori validi sono 'str' \| 'int' \| 'float' \| 'list' \| 'bool'. 
+  `isOptional: boolean`: (facoltativo) determina se il parametro è facoltativo. Per impostazione predefinita, tutti i parametri sono obbligatori. 
+  `description: string`: (facoltativo) viene visualizzata una descrizione in AWS Glue Studio per aiutare l'utente a configurare il parametro di trasformazione. 
+  `validationType: string`: (facoltativo) definisce il modo in cui questo parametro viene convalidato. Al momento, supporta solo le espressioni regolari. Per impostazione predefinita, il tipo di convalida è impostato su `RegularExpression`. 
+  `validationRule: string`: (facoltativo) l'espressione regolare utilizzata per convalidare l'input del modulo prima dell'invio quando `validationType` è impostato su `RegularExpression`. [La sintassi delle espressioni regolari deve essere compatibile con le specifiche di Ecmascript. RegExp ](https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects) 
+  `validationMessage: string`: (facoltativo) il messaggio da visualizzare quando la convalida non riesce. 
+  `listOptions: An array of TransformParameterListOption object` OPPURE una `string` o il valore di stringa "column": (facoltativo) le opzioni da visualizzare nel controllo Select o Multiselect dell'interfaccia utente. Accettazione di un elenco di valori separati da virgole o di un oggetto JSON fortemente tipizzato di tipo `TransformParameterListOption`. Può anche compilare dinamicamente l'elenco di colonne dello schema del nodo padre specificando il valore di stringa "column". 
+  `listType: string`: (facoltativo) definisci i tipi di opzioni per type = 'list'. I valori validi sono 'str' \| 'int' \| 'float' \| 'list' \| 'bool'. Tipo di parametro che accetta i tipi di dati Python comuni. 

 **TransformParameterListOption campi** 
+  `value: string | int | float | bool`: (obbligatorio) il valore dell'opzione. 
+  `label: string` (facoltativo) l'etichetta dell'opzione visualizzata nel menu a discesa di selezione. 

## Trasformazione dei parametri in AWS Glue Studio
<a name="custom-visual-transform-parameters"></a>

 Per impostazione predefinita, i parametri sono obbligatori a meno che non siano contrassegnati come `isOptional` nel file .json. In AWS Glue Studio, i parametri vengono visualizzati nella scheda **Transform** (Trasforma). L'esempio mostra parametri definiti dall'utente come indirizzo e-mail, numero di telefono, età, sesso e paese di origine. 

![Lo screenshot mostra una trasformazione visiva personalizzata selezionata e la scheda Transform (Trasforma) con i parametri definiti dall'utente.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-parameters.png)


 È possibile applicare alcune convalide in AWS Glue Studio utilizzando le espressioni regolari nel file .json specificando il parametro `validationRule` e specificando un messaggio di convalida in `validationMessage`. 

```
      "validationRule": "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$",
      "validationMessage": "Please enter a valid US number"
```

**Nota**  
 Poiché la convalida avviene nel browser, la sintassi delle espressioni regolari deve essere compatibile con le specifiche di [ RegExp Ecmascript](https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects). La sintassi di Python non è supportata per queste espressioni regolari. 

 L'aggiunta della convalida impedirà all'utente di salvare il processo con un input utente errato. AWS Glue Studio visualizza il messaggio di convalida come mostrato nell'esempio: 

![Lo screenshot mostra un parametro di trasformazione visiva personalizzato con un messaggio di errore di convalida: Please enter a valid email address (Inserisci un indirizzo e-mail valido).](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-validation-message.png)


 I parametri vengono visualizzati in AWS Glue Studio in base alla loro configurazione. 
+  Quando `type` è `str`, `int` o `float`, viene visualizzato un campo di immissione di testo. Ad esempio, la schermata mostra i campi di input per i parametri "Indirizzo e-mail" ed "Età".   
![Lo screenshot mostra un parametro di trasformazione visiva personalizzato con campo di immissione del testo.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-email-address.png)  
![Lo screenshot mostra un parametro di trasformazione visiva personalizzato con campo di immissione del testo.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-your-age.png)
+  Quando `type` è `bool`, viene visualizzata una casella di controllo.   
![Lo screenshot mostra un parametro di trasformazione visiva personalizzato con campo di immissione del testo.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-bool.png)
+  Quando `type` è `str` e viene fornito `listOptions`, viene visualizzato un unico elenco di selezione.   
![Lo screenshot mostra un parametro di trasformazione visiva personalizzato con un singolo menu a discesa dell'elenco di selezione.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-single-list.png)
+  Quando `type` è `list` e sono forniti `listOptions` e `listType`, viene visualizzato un elenco a selezione multipla.   
![La schermata mostra un parametro di trasformazione visiva personalizzato con un elenco a discesa.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/dynamic-transform-list-options.png)

### Visualizzazione di un selettore di colonna come parametro
<a name="custom-visual-transform-parameters-column-selector"></a>

 Se la configurazione richiede all'utente di scegliere una colonna dallo schema, è possibile visualizzare un selettore di colonna in modo che l'utente non debba digitarne il nome. Impostando il campo `listOptions` su "column", AWS Glue Studio visualizza dinamicamente un selettore di colonne basato sullo schema di output del nodo principale. AWS Glue Studio può visualizzare un selettore a colonna singola o multipla. 

 L'esempio seguente utilizza lo schema: 

![La schermata mostra uno schema di output di esempio.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/custom-visual-transform-example-schema.png)


**Per definire il parametro Trasformazione visiva personalizzata per visualizzare una singola colonna:**

1.  Nel file JSON, per l'oggetto `parameters`, imposta il valore di `listOptions` su "column". Ciò consente a un utente di scegliere una colonna da un elenco di selezione in AWS Glue Studio.   
![La schermata mostra un file JSON di esempio con il parametro listOptions impostato su "column" e l'interfaccia utente risultante in AWS Glue Studio.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/custom-visual-transform-example-listoptions-column.png)

1.  È inoltre possibile consentire la selezione di più colonne definendo il parametro come: 
   +  `listOptions: "column"` 
   +  `type: "list"`   
![La schermata mostra un file JSON di esempio con il parametro listOptions impostato su "column" e il tipo impostato su "list", nonché l'interfaccia utente risultante in AWS Glue Studio.](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/custom-visual-transform-example-listoptions-column-type-list.png)