Fase 1: Creazione di un file di configurazione JSON - AWS Glue

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

Fase 1: Creazione di un file di configurazione JSON

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

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, numeri e/o trattini bassi.

  • displayName: string— (opzionale) il nome della trasformazione visualizzata nella AWS Glue Studio editor visivo dei lavori. Se non displayName è specificato no, name viene utilizzato come nome della trasformazione in AWS Glue Studio.

  • description: string— (opzionale) 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 specificato, AWS Glue utilizza la corrispondenza dei nomi di file 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— (opzionale) l'elenco dei parametri da visualizzare quando li si configura nel AWS Glue Studio editor visivo.

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, numeri e/o trattini bassi.

  • displayName: string— (opzionale) il nome della trasformazione visualizzata nella AWS Glue Studio editor visivo dei lavori. Se non displayName è specificato no, name viene utilizzato come nome della trasformazione in AWS Glue Studio.

  • 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— (opzionale) la descrizione viene visualizzata 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 RegExp Ecmascript.

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

Trasforma i parametri in AWS Glue Studio

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

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

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

L'aggiunta della convalida impedirà all'utente di salvare il lavoro 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).

I parametri vengono visualizzati in AWS Glue Studio in base alla configurazione dei parametri.

  • 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.
    Lo screenshot mostra un parametro di trasformazione visiva personalizzato con campo di immissione del testo.
  • Quando type è bool, viene visualizzata una casella di controllo.

    Lo screenshot mostra un parametro di trasformazione visiva personalizzato con campo di immissione del testo.
  • 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.
  • 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.

Visualizzazione di un selettore di colonna come parametro

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 listOptions campo su «colonna», 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.
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 In AWS Glue Studio.
  2. È 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» e l'interfaccia utente risultante in AWS Glue Studio.