Ö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 anslutningssträng
Viktigt!
Vi rekommenderar starkt att hanterade identiteter används för åtkomst till en Azure SQL Database med Azure Functions. Hanterade identiteter gör din app säkrare genom att eliminera hemligheter från dina programdistributioner, till exempel autentiseringsuppgifter i anslutningssträng, servernamn och portar som används. Du kan lära dig hur du använder hanterade identiteter i den här självstudien Anslut en funktionsapp till Azure SQL med hanterad identitet och SQL-bindningar.
Azure SQL-bindningar för Azure Functions har en nödvändig egenskap för anslutningssträng för alla bindningar och utlösare. Dessa skickar anslutningssträng till biblioteket Microsoft.Data.SqlClient och stöder anslutningssträng 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. - Använd hanterade identiteter i stället för användarnamn och lösenord.
- Överväg att använda ett Azure Key Value för att lagra programinställningar.
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