Översikt över Azure SQL-bindningar för Azure Functions
Den här uppsättningen artiklar beskriver hur du arbetar med Azure SQL-bindningar i Azure Functions. Azure Functions stöder indatabindningar, utdatabindningar och en funktionsutlösare för Azure SQL- och SQL Server-produkterna.
Åtgärd | Typ |
---|---|
Utlösa en funktion när en ändring identifieras i en SQL-tabell | SQL-utlösare |
Läsa data från en databas | Indatabindning |
Spara data i en databas | Utdatabindning |
Installera tillägget
Vilket NuGet-tilläggspaket du installerar beror på vilket C#-läge du använder i funktionsappen:
Funktioner körs i en isolerad C#-arbetsprocess. Mer information finns i Guide för att köra C# Azure Functions i en isolerad arbetsprocess.
Lägg till tillägget i projektet genom att installera det här NuGet-paketet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Om du vill använda en förhandsversion av paketet Microsoft.Azure.Functions.Worker.Extensions.Sql lägger du till --prerelease
flaggan i kommandot . Du kan visa förhandsversionsfunktioner på versionssidan för Azure Functions SQL-tillägg.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Kommentar
Icke-bakåtkompatibla ändringar mellan förhandsversioner av Azure SQL-bindningar för Azure Functions kräver att alla funktioner som riktar sig till samma databas använder samma version av SQL-tilläggspaketet.
Installera paket
SQL-bindningstillägget är en del av v4-tilläggspaketet, som anges i din host.json projektfil.
Tilläggspaketet anges av följande kod i host.json
filen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Funktionskörning
Installera paket
SQL-bindningstillägget är en del av v4-tilläggspaketet, som anges i din host.json projektfil.
Tilläggspaketet anges av följande kod i host.json
filen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Installera paket
SQL-bindningstillägget är en del av v4-tilläggspaketet, som anges i din host.json projektfil.
Tilläggspaketet anges av följande kod i host.json
filen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Uppdatera paket
Lägg till Java-biblioteket för SQL-bindningar till ditt funktionsprojekt med en uppdatering pom.xml
av filen i Java Azure Functions-projektet enligt följande kodfragment:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
Du kan använda förhandsgranskningstilläggspaketet med en uppdatering av pom.xml
filen i ditt Java Azure Functions-projekt enligt följande kodfragment:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0-preview</version>
</dependency>
SQL niska veze
Azure SQL-bindningar för Azure Functions har en nödvändig egenskap för niska veze för alla bindningar och utlösare. Dessa skickar niska veze till biblioteket Microsoft.Data.SqlClient och stöder niska veze enligt definitionen i dokumentationen för SqlClient ConnectionString. Viktiga nyckelord är:
Authentication
tillåter att en funktion ansluter till Azure SQL med Microsoft Entra-ID, inklusive Active Directory Managed IdentityCommand Timeout
tillåter att en funktion väntar under angiven tid i sekunder innan en fråga avslutas (standardvärdet är 30 sekunder)ConnectRetryCount
tillåter att en funktion automatiskt gör ytterligare återanslutningsförsök, särskilt för serverlös Azure SQL Database-nivå (standard 1)Pooling
tillåter en funktion att återanvända anslutningar till databasen, vilket kan förbättra prestandan (standardtrue
). Ytterligare inställningar för anslutningspooler ärConnection Lifetime
,Max Pool Size
ochMin Pool Size
. Läs mer om anslutningspooler i dokumentationen om ADO.NET
Att tänka på
- Azure SQL-bindning stöder version 4.x och senare av Functions-körningen.
- Källkod för Azure SQL-bindningar finns på den här GitHub-lagringsplatsen.
- Den här bindningen kräver anslutning till en Azure SQL- eller SQL Server-databas.
- Utdatabindningar mot tabeller med kolumner med datatyper
NTEXT
,TEXT
ellerIMAGE
stöds inte och datauppserterter misslyckas. Dessa typer tas bort i en framtida version av SQL Server och är inte kompatibla med funktionenOPENJSON
som används av den här Azure Functions-bindningen.
Exempel
Utöver exemplen för C#, Java, JavaScript, PowerShell och Python som är tillgängliga på GitHub-lagringsplatsen för Azure SQL-bindningar finns det fler tillgängliga i Azure-exempel:
- C# ToDo API-exempel med Azure SQL-bindningar
- Använda SQL-bindningar i Azure Stream Analytics
- Skicka data från Azure SQL med Python