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 Tipo
Attivare una funzione quando viene rilevata una modifica in una tabella SQL Trigger SQL (anteprima)
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 il stringa di connessione come definito nella documentazione di SqlClient Connessione ionString. 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 Directory
  • Command Timeout consente a una funzione di attendere la quantità di tempo specificata in secondi prima di terminare una query (impostazione predefinita 30 secondi)
  • ConnectRetryCountconsente 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 predefinita true). Le impostazioni aggiuntive per il pool di connessioni includono Connection Lifetime, Max Pool Sizee Min 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 NTEXTdati , TEXTo IMAGE 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 la OPENJSON 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:

Passaggi successivi