Panoramica delle associazioni SQL di Azure per Funzioni di Azure
Questo set di articoli illustra come usare le associazioni SQL di Azure in Funzioni di Azure. Funzioni di Azure supporta associazioni di input, associazioni di output e un trigger di funzione per i prodotti AZURE SQL e SQL Server.
Azione | Type |
---|---|
Attivare una funzione quando viene rilevata una modifica in una tabella SQL | Trigger SQL |
Leggere i dati da un database | Associazione di input |
Salvare i dati in un database | Associazione di output |
Installare l'estensione
Il pacchetto NuGet di estensione installato dipende dalla modalità C# usata nell'app per le funzioni:
Le funzioni sono eseguite in un processo di lavoro C# isolato. Per altre informazioni, vedere Guida per l'esecuzione di Funzioni di Azure C# in un processo di lavoro isolato.
Aggiungere l'estensione al progetto installando questo pacchetto NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Per usare una versione di anteprima del pacchetto Microsoft.Azure.Functions.Worker.Extensions.Sql, aggiungere il --prerelease
flag al comando . È possibile visualizzare la funzionalità di anteprima nella pagina di rilascio delle estensioni SQL Funzioni di Azure.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Nota
Le modifiche di rilievo tra le versioni di anteprima delle associazioni SQL di Azure per Funzioni di Azure richiedono che tutte le funzioni destinate allo stesso database usino la stessa versione del pacchetto di estensione SQL.
Installare il bundle
L'estensione associazioni SQL fa parte del bundle di estensione v4, specificato nel file di progetto host.json.
Il bundle di estensione viene specificato dal codice seguente nel host.json
file:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Runtime di Funzioni
Installare il bundle
L'estensione associazioni SQL fa parte del bundle di estensione v4, specificato nel file di progetto host.json.
Il bundle di estensione viene specificato dal codice seguente nel host.json
file:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Installare il bundle
L'estensione associazioni SQL fa parte del bundle di estensione v4, specificato nel file di progetto host.json.
Il bundle di estensione viene specificato dal codice seguente nel host.json
file:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Aggiornamento di pacchetti
Aggiungere la libreria Java per le associazioni SQL al progetto di funzioni con un aggiornamento al pom.xml
file nel progetto Java Funzioni di Azure come illustrato nel frammento di codice seguente:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
È possibile usare il bundle dell'estensione di anteprima con un aggiornamento al pom.xml
file nel progetto Java Funzioni di Azure come illustrato nel frammento di codice seguente:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0-preview</version>
</dependency>
SQL stringa di connessione
Le associazioni SQL di Azure per Funzioni di Azure hanno una proprietà obbligatoria per il stringa di connessione in tutte le associazioni e i trigger. Questi passano il stringa di connessione alla libreria Microsoft.Data.SqlClient e supportano l'stringa di connessione come definito nella documentazione di SqlClient ConnectionString. Le parole chiave rilevanti includono:
Authentication
consente a una funzione di connettersi ad Azure SQL con Microsoft Entra ID, inclusa l'identità gestita di Active DirectoryCommand Timeout
consente a una funzione di attendere la quantità di tempo specificata in secondi prima di terminare una query (impostazione predefinita 30 secondi)ConnectRetryCount
consente a una funzione di effettuare automaticamente tentativi di riconnessione aggiuntivi, in particolare applicabili a database SQL di Azure livello serverless (impostazione predefinita 1)Pooling
consente a una funzione di riutilizzare le connessioni al database, che può migliorare le prestazioni (impostazione predefinitatrue
). Le impostazioni aggiuntive per il pool di connessioni includonoConnection Lifetime
,Max Pool Size
eMin Pool Size
. Altre informazioni sul pool di connessioni sono disponibili nella documentazione di ADO.NET
Considerazioni
- L'associazione SQL di Azure supporta la versione 4.x e successive del runtime di Funzioni.
- Il codice sorgente per le associazioni SQL di Azure è disponibile in questo repository GitHub.
- Questa associazione richiede la connettività a un database SQL di Azure o SQL Server.
- Le associazioni di output sulle tabelle con colonne di tipi di
NTEXT
dati ,TEXT
oIMAGE
non sono supportate e gli upsert di dati avranno esito negativo. Questi tipi verranno rimossi in una versione futura di SQL Server e non sono compatibili con laOPENJSON
funzione usata da questa associazione Funzioni di Azure.
Esempi
Oltre agli esempi per C#, Java, JavaScript, PowerShell e Python disponibili nel repository GitHub delle associazioni SQL di Azure, sono disponibili altri esempi in Azure Samples:
- Esempio di API ToDo C# con associazioni SQL di Azure
- Usare le associazioni SQL in Analisi di flusso di Azure
- Inviare dati da AZURE SQL con Python