Condividi tramite


Informazioni generali sulle associazioni di Azure SQL 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
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

Per poter usare questa estensione di associazione nell'app, assicurarsi che il file host.json nella radice del progetto contenga questo extensionBundle riferimento:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

In questo esempio, il version valore di indica all'host di Funzioni di [4.0.0, 5.0.0) usare una versione del bundle che è almeno 4.0.0 ma minore di 5.0.0, che include tutte le versioni potenziali di 4.x. Questa notazione mantiene l'app nella versione secondaria più recente disponibile del bundle di estensione v4.x.

Quando possibile, è consigliabile usare la versione principale del bundle di estensione più recente e consentire al runtime di mantenere automaticamente la versione secondaria più recente. È possibile visualizzare il contenuto del bundle più recente nella pagina di rilascio dei bundle di estensioni. Per altre informazioni, vedere Bundle di estensioni di Funzioni di Azure.

Se l'app deve usare la funzionalità di anteprima, devi invece fare riferimento alla versione più recente del bundle di anteprima. Per altre informazioni, vedere Usare bundle di estensioni di anteprima.

È possibile visualizzare la funzionalità di anteprima nella pagina di rilascio delle estensioni SQL Funzioni di Azure.

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.

Aggiornamento di pacchetti

Aggiungere il pacchetto Tipi SQL Java di Funzioni di Azure al progetto di funzioni con un aggiornamento al pom.xml file nel progetto, come in questo esempio:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</version>
</dependency>

Stringa di connessione SQL

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.

Importante

Per una sicurezza ottimale, è consigliabile usare Microsoft Entra ID con identità gestite per le connessioni tra Funzioni e database SQL di Azure. Le identità gestite rendono l'app più sicura eliminando i segreti dalle distribuzioni dell'applicazione, ad esempio le credenziali nelle stringa di connessione, i nomi dei server e le porte usate. In questa esercitazione si apprenderà come usare le identità gestite, Connettere un'app per le funzioni a SQL di Azure con associazioni SQL e identità gestite.

Le parole chiave rilevanti includono:

  • Authentication: consente a una funzione di connettersi ad Azure SQL con l'ID Microsoft Entra e le identità gestite. Per altre informazioni, vedere Connettere un'app per le funzioni a SQL di Azure con associazioni SQL e identità gestite.
  • Command 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 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.
  • Usare identità gestite anziché nomi utente e password.
  • Prendere in considerazione l'uso di un valore chiave di Azure per archiviare le impostazioni dell'applicazione.

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