Parametri in Synthetic Data Generator

I parametri forniscono un modo utile per passare valori in fase di esecuzione, anziché codificarli direttamente in uno script. È possibile modificare questi parametri ogni volta che si esegue lo script.

Un flusso è spesso precostituito con alcuni parametri definiti. Questi parametri vengono poi modificati prima dell'esecuzione del flusso. Ad esempio, è possibile creare un flusso Synthetic Data Generator e utilizzare i parametri per definire l'origine dei dati. È quindi possibile utilizzare i parametri per selezionare rapidamente fonti di dati diverse ogni volta che si esegue lo script di flusso. È anche possibile impostare un parametro in modo che gli utenti debbano fornirne il valore ogni volta che viene avviato il runtime Synthetic Data Generator.

È possibile definire i parametri e i loro valori utilizzando la finestra di dialogo "Proprietà del flusso" o tramite script. I parametri creati tramite scripting sono visibili anche nella finestra di dialogo "Proprietà del flusso".

Aggiunta di parametri nelle proprietà del flusso

È possibile aggiungere un parametro utilizzando la finestra di dialogo "Proprietà del flusso":

  1. Nella barra degli strumenti, fare clic sull'icona delle proprietà del flusso icona delle proprietà del flusso.
  2. Nella scheda Parametri, fare clic su Aggiungi valore.
  3. Definire il parametro compilando la riga della tabella.
  4. Opzionale : se si desidera che gli utenti immettano un valore per un parametro ogni volta che si avvia il runtime Synthetic Data Generator, selezionare Prompt?

Scripting con parametri

La modifica dei parametri mediante uno script comporta le seguenti operazioni:

  • Creare o modificare i parametri
  • Individuazione dei nodi nel flusso rilevante
  • Modifica delle impostazioni del nodo o del flusso (o di entrambi) con i parametri

Ad esempio, lo script seguente crea due parametri, DataSource e DataSourceID, e assegna loro i valori bank_customer_sample_data.csv e 94akc75b-1fef-4h98-8445-6dfb68741484. Questi parametri possono essere utilizzati per definire una risorsa di dati nel progetto.

import sdg.api
stream = sdg.script.stream()
stream.setParameterStorage("DataSource", sdg.api.ParameterStorage.STRING)
stream.setParameterValue("DataSource", "bank_customer_sample_data.csv")
stream.setParameterLabel("DataSource", "datasourcetable")
stream.setParameterType("DataSource", sdg.api.ParameterType.TYPELESS)
stream.setParameterStorage("DataSourceID", sdg.api.ParameterStorage.STRING)
stream.setParameterValue("DataSourceID", "94edc75b-1fef-4c98-8445-6dfa69741484")
stream.setParameterLabel("DataSourceID", "datasourceid")
stream.setParameterType("DataSourceID", sdg.api.ParameterType.TYPELESS)

Uno script può quindi modificare un nodo Importazione in modo che utilizzi i due parametri, invece di essere codificato in modo fisso per utilizzare un'origine dati specifica. Lo script seguente utilizza una risorsa di dati definita come parametro.

import sdg.api
importnode = stream.findByType("dataassetimport", None)
importnode.setPropertyValue("asset_type", "DataAsset")
sourcename = stream.getParameterValue("DataSource")
sourceid = stream.getParameterValue("DataSourceID")
importnode.setPropertyValue("asset_name", sourcename)
importnode.setPropertyValue("asset_id", sourceid)

È anche possibile definire una connessione come parametro. Lo script seguente modifica un nodo Import per utilizzare una connessione definita come parametro.

import sdg.api
importnode = stream.findByType("dataassetimport", None)
importnode.setPropertyValue("asset_type", "Connection")
sourcename = stream.getParameterValue("DataSource")
sourceid = stream.getParameterValue("DataSourceID")
importnode.setPropertyValue("connection_name", sourcename)
importnode.setPropertyValue("connection_id", sourceid)

Funzioni dei parametri

La classe Stream implementa una serie di funzioni definite dall'oggetto ParameterProvider . Queste funzioni possono essere richiamate negli script. Session fornisce una chiamata a getParameters() che restituisce un oggetto che definisce tali funzioni.

Tabella 1. Funzioni definite dall'oggetto ` ParameterProvider `
Metodo Tipo di ritorno Descrizione
p.parameterIterator() Iteratore Restituisce un iteratore contenente i nomi dei parametri di questo oggetto.
p.getParameterDefinition(parameterName) ParameterDefinition Restituisce la definizione del parametro con il nome specificato oppure, None se tale parametro non esiste in questo provider. Il risultato è un'istantanea della definizione al momento in cui il metodo è stato chiamato e non riflette necessariamente le modifiche successive apportate al parametro tramite questo provider.
p.getParameterLabel(parameterName) stringa Restituisce l'etichetta del parametro specificato oppure None se tale parametro non esiste.
p.getParameterType(parameterName) ParameterType Restituisce il tipo del parametro specificato oppure None se tale parametro non esiste.
p.getParameterStorage(parameterName) ParameterStorage Restituisce il valore del parametro specificato oppure None se tale parametro non esiste.
p.getParameterValue(parameterName) Oggetto Restituisce il valore del parametro specificato oppure None se tale parametro non esiste.
p.setParameterLabel(parameterName, label) Non applicabile Imposta l'etichetta del parametro specificato.
p.setParameterStorage(parameterName, storage) Non applicabile Imposta il valore del parametro specificato.
p.setParameterType(parameterName, type) Non applicabile Imposta il tipo del parametro specificato.
p.setParameterValue(parameterName, value) Non applicabile Imposta il valore del parametro specificato.