Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
För att kunna använda det här bindningstillägget i din app kontrollerar du att denhost.json filen i projektets rot innehåller den här extensionBundle referensen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
I det här exemplet version instruerar värdet [4.0.0, 5.0.0) för Functions-värden att använda en paketversion som är minst 4.0.0 men mindre än 5.0.0, som innehåller alla potentiella versioner av 4.x. Den här notationen underhåller appen på den senaste tillgängliga delversionen av v4.x-tilläggspaketet.
När det är möjligt bör du använda den senaste huvudversionen av tilläggspaketet och låta körningen automatiskt behålla den senaste delversionen. Du kan visa innehållet i det senaste paketet på versionssidan för tilläggspaket. Mer information finns i Azure Functions-tilläggspaket.
Om din app behöver använda förhandsgranskningsfunktioner bör du i stället referera till den senaste versionen av förhandsgranskningspaketet. Mer information finns i Arbeta med paket med förhandsgranskningstillägg.
Du kan visa förhandsversionsfunktioner på versionssidan för Azure Functions SQL-tillägg.
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.
Uppdatera paket
Lägg till Azure Functions Java SQL Types-paketet i ditt funktionsprojekt med en uppdatering av pom.xml filen i projektet, som i det här exemplet:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
Connections
Egenskapen connectionStringSetting är inställd på en nyckel i applikationsinställningarna som returnerar ett värde som används av Functions-runtimen för att ansluta till Azure SQL- eller SQL Server-databasen som används av tillägget. Värdet på anslutningsegenskapsinställningen beror på typen av anslutning:
-
Managed identity connection: Egenskapen
connectionStringSettingreturnerar en reťazec pripojenia som användsAuthentication=služba Active Directory Managed Identityför autentisering utan hemligheter. Du kan använda antingen en systemtilldelad eller användartilldelad hanterad identitet. För mer information, se Koppla en funktionsapp till Azure SQL med hanterad identitet och Definiera identitetsanslutningar. -
Key Vault-referens: Egendomsinställningen
connectionStringSettingreturnerar en Azure Key Vault-referens till platsen där reťazec pripojenia underhålls centralt. För mer information, se Definiera Key Vault-anslutningar. -
App Configuration Reference: Egenskapsinställningen
connectionStringSettingreturnerar en Azure App Configuration-referens som returnerar en reťazec pripojenia eller en Key Vault-referens. För mer information, se Azure App Configuration i artikeln om anslutningar. -
Connection string: Egenskapsinställningen
connectionStringSettingreturnerar den faktiska SQL-reťazec pripojenia. Eftersom reťazec pripojenia kan innehålla referenser bör du använda en managed identity connection eller åtminstone lagra reťazec pripojenia i Key Vault. För mer information, se Definiera kopplingar.
För att lära dig mer om bindningsanslutningar, se Hantera anslutningar i Azure Functions.
reťazec pripojenia skickas vidare till Microsoft. Data.SqlClient och stöder alla nyckelord som definieras i dokumentationen SqlClient ConnectionString. Viktiga nyckelord är:
-
Authentication: Anslut till Azure SQL med Microsoft Entra ID. Ställ in påslužba Active Directory Managed Identityför managed identitys. För mer information, se Koppla en funktionsapp till Azure SQL med hanterad identitet. -
Command Timeout: Vänta en viss tid i sekunder innan du avslutar en fråga (standard 30 sekunder). -
ConnectRetryCount: Gör automatiskt ytterligare återanslutningsförsök, särskilt tillämpligt på Azure SQL Database serverless tier (standard 1). -
Pooling: Återanvänd anslutningar till databasen för att förbättra prestandan (standardtrue). Ytterligare inställningar för anslutningspooler ärConnection Lifetime,Max Pool SizeochMin Pool Size. Läs mer i ADO.NET-dokumentationen.
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,TEXTellerIMAGEstöds inte och datauppserterter misslyckas. Dessa typer tas bort i en framtida version av SQL Server och är inte kompatibla med funktionenOPENJSONsom 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: