Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le funzioni dati utente di Fabric forniscono connessioni a origini dati e elementi di Fabric supportati usando la funzionalità Gestisci connessioni nel portale di Fabric. Questa funzionalità consente di connettersi alle origini dati di Fabric senza dover creare stringhe di connessione o gestire le credenziali di accesso. Per gli elementi di fabric che non sono un'origine dati, è possibile connettersi in modo sicuro a questi elementi all'interno di una funzione.
In questo articolo vengono illustrate le operazioni seguenti:
- Crea una nuova connessione per l'elemento delle funzioni sui dati utente.
- Utilizza la nuova connessione nel codice della funzione.
- Modificare o eliminare la connessione dati.
Elementi supportati nelle funzioni dati utente di Fabric
Per le funzioni dati utente di Fabric sono attualmente supportati gli elementi seguenti:
- Infrastruttura di database SQL per operazioni di lettura/scrittura
- Magazzini di architettura per operazioni di lettura/scrittura
- Fabric lakehouses per operazioni di lettura/scrittura sui file del Lakehouse e per operazioni di sola lettura sull'Endpoint SQL.
- Database con mirroring dell'infrastruttura per operazioni di sola lettura
- Libreria di variabili Fabric per definire le impostazioni di configurazione come variabili. Ulteriori informazioni.
Creare una nuova connessione dati per l'elemento delle funzioni dati utente
Tutte le connessioni dati aggiunte sono associate all'elemento delle funzioni dati utente ed è possibile farvi riferimento nel codice di tutte le funzioni. Per seguire questa guida, è necessario avere un elemento esistente delle funzioni dati utente di Fabric e un'origine dati di Fabric esistente.
1. Accedere alla funzionalità Gestisci connessioni dal portale di Funzioni
In Modalità sviluppo trovare e selezionare Gestisci connessioni nella barra multifunzione dell'editor del portale di Funzioni.
Il riquadro che si apre contiene le connessioni dati create. Selezionare Aggiungi connessione dati per creare una nuova connessione.
2. Selezionare la connessione dati dal catalogo di OneLake
Quando si seleziona Aggiungi connessione dati, il catalogo di OneLake viene aperto con un elenco di tutte le origini dati a cui l'account utente ha accesso. L'elenco viene filtrato in modo da includere solo origini dati supportate, alcune delle quali potrebbero trovarsi in altre aree di lavoro.
Scegli la tua origine dati, quindi seleziona Connetti.
Nota
Se non si riesce a trovare l'origine dati che si sta cercando, assicurarsi di avere le autorizzazioni appropriate per la connessione. In alternativa, assicurarsi di usare un'origine dati supportata, come indicato all'inizio di questo articolo.
Dopo la creazione, la nuova connessione all'origine dati selezionata viene visualizzata nel riquadro laterale della scheda Connessioni. Quando viene visualizzata la connessione, prendere nota del campo Alias generato. Questo alias servirà per fare riferimento alla connessione da qualsiasi funzione nell'elemento delle funzioni dati utente.
3. Usare l'alias di connessione nel codice della funzione
Dopo il ritorno nell'editor del portale, è necessario aggiungere l'alias della connessione creata nella scheda Manage Connections al codice. Questo alias viene creato automaticamente in base al nome dell'elemento Fabric a cui ci si connette.
In questo caso si userà un esempio di codice denominato "Leggere i dati da una tabella nel database SQL". Per trovare questo esempio, fare clic sulla scheda Modifica, quindi fare clic sul pulsante "Inserisci esempio" e passare a "Database SQL".
Questo è il codice di esempio inserito:
@udf.connection(argName="sqlDB",alias="<alias for sql database>")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
# Replace with the query you want to run
query = "SELECT * FROM (VALUES ('John Smith', 31), ('Kayla Jones', 33)) AS Employee(EmpName, DepID);"
# Establish a connection to the SQL database
connection = sqlDB.connect()
cursor = connection.cursor()
query.capitalize()
# Execute the query
cursor.execute(query)
# Fetch all results
results = []
for row in cursor.fetchall():
results.append(row)
# Close the connection
cursor.close()
connection.close()
return results
Nota
Anche se questo esempio si connette a un database SQL, non è necessario uno schema o dati nel database per l'esecuzione.
Per usare la connessione dati creata, modificare la riga seguente in questo esempio @udf.connection(argName="sqlDB",alias="<alias for sql database>") sostituendo il valore di alias con quello ottenuto dal menu Manage Connections. Il codice seguente illustra questo esempio con il valore ContosoSalesDat:
@udf.connection(argName="sqlDB",alias="ContosoSalesDat")
@udf.function()
def read_from_sql_db(sqlDB: fn.FabricSqlConnection)-> list:
[...]
Dopo aver modificato il codice, è possibile testare le modifiche usando la funzionalità Test in modalità sviluppo. Quando si è pronti, è possibile pubblicare la funzione usando il pulsante Pubblica sulla barra degli strumenti. L'operazione potrebbe richiedere alcuni minuti.
Al termine della pubblicazione, è possibile eseguire la funzione passando il puntatore del mouse sul nome nell'elenco Esplora funzioni e facendo clic sul pulsante "Esegui" nel pannello laterale. Il pannello inferiore "Output" mostra il risultato dell'esecuzione della funzione.
E questo è tutto ciò di cui hai bisogno per connetterti a un'origine dati dalle tue Funzioni Dati Utente di Fabric.
Ottenere variabili dalle librerie di variabili di Fabric
Una Fabric Variable Library in Microsoft Fabric è un repository centralizzato per la gestione delle variabili che possono essere usate tra elementi diversi all'interno di un'area di lavoro. Consente agli sviluppatori di personalizzare e condividere in modo efficiente le configurazioni degli elementi. Seguire questa procedura per usare le librerie di variabili nelle funzioni:
- Aggiungere una connessione a una libreria di variabili usando Gestisci connessioni e ottenere l'alias per l'elemento della libreria di variabili.
- Aggiungere un decoratore di connessione per l'oggetto della libreria di variabili. Ad esempio,
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")e sostituire l'alias con la connessione appena aggiunta per l'elemento variabile della libreria. - Nella definizione della funzione includere un argomento con tipo
fn.FabricVariablesClient. Questo client fornisce i metodi necessari per lavorare con l'elemento della libreria di variabili. - Usare
getVariables()il metodo per ottenere tutte le variabili dalla libreria di variabili. - Per leggere i valori delle variabili, usa
["variable-name"]o.get("variable-name").
Esempio In questo esempio viene simulato uno scenario di configurazione per una produzione e un ambiente di sviluppo. Questa funzione imposta un percorso di archiviazione a seconda dell'ambiente selezionato usando un valore recuperato dalla libreria di variabili. La libreria di variabili contiene una variabile denominata ENV in cui gli utenti possono impostare un valore pari dev a o prod.
@udf.connection(argName="varLib", alias="<My Variable Library Alias>")
@udf.function()
def get_storage_path(dataset: str, varLib: fn.FabricVariablesClient) -> str:
"""
Description: Determine storage path for a dataset based on environment configuration from Variable Library.
Args:
dataset_name (str): Name of the dataset to store.
varLib (fn.FabricVariablesClient): Fabric Variable Library connection.
Returns:
str: Full storage path for the dataset.
"""
# Retrieve variables from Variable Library
variables = varLib.getVariables()
# Get environment and base paths
env = variables.get("ENV")
dev_path = variables.get("DEV_FILE_PATH")
prod_path = variables.get("PROD_FILE_PATH")
# Apply environment-specific logic
if env.lower() == "dev":
return f"{dev_path}{dataset}/"
elif env.lower() == "prod":
return f"{prod_path}{dataset}/"
else:
return f"incorrect settings define for ENV variable"