Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze set artikelen wordt uitgelegd hoe u kunt werken met Azure SQL-bindingen in Azure Functions. Azure Functions ondersteunt invoerbindingen, uitvoerbindingen en een functietrigger voor de Azure SQL- en SQL Server-producten.
| Actie | Typologie | 
|---|---|
| Een functie activeren wanneer een wijziging wordt gedetecteerd in een SQL-tabel | SQL-trigger | 
| Gegevens uit een database lezen | Invoerbinding | 
| Gegevens opslaan in een database | Uitvoerbinding | 
De extensie installeren
Het NuGet-extensiepakket dat u installeert, is afhankelijk van de C#-modus die u gebruikt in uw functie-app:
Functies worden uitgevoerd in een geïsoleerd C#-werkproces. Zie De handleiding voor het uitvoeren van C# Azure Functions in een geïsoleerd werkproces voor meer informatie.
Voeg de extensie toe aan uw project door dit NuGet-pakket te installeren.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Als u een preview-versie van het pakket Microsoft.Azure.Functions.Worker.Extensions.Sql wilt gebruiken, voegt u de --prerelease vlag toe aan de opdracht. U kunt preview-functionaliteit bekijken op de releasepagina van Azure Functions SQL Extensions.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Notitie
Belangrijke wijzigingen tussen preview-releases van de Azure SQL-bindingen voor Azure Functions vereisen dat alle functies die gericht zijn op dezelfde database, dezelfde versie van het SQL-extensiepakket gebruiken.
Bundel installeren
Als u deze bindingsextensie in uw app wilt kunnen gebruiken, moet u ervoor zorgen dat het host.json bestand in de hoofdmap van uw project deze extensionBundle verwijzing bevat:
{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}
In dit voorbeeld geeft de version waarde van [4.0.0, 5.0.0) de Functions-host opdracht om een bundelversie te gebruiken die ten minste 4.0.0 maar kleiner is dan 5.0.0, die alle mogelijke versies van 4.x bevat. Deze notatie onderhoudt uw app effectief op de nieuwste beschikbare secundaire versie van de v4.x-extensiebundel.
Indien mogelijk moet u de meest recente primaire versie van de extensiebundel gebruiken en toestaan dat de runtime automatisch de meest recente secundaire versie onderhoudt. U kunt de inhoud van de meest recente bundel bekijken op de releasepagina voor extensiebundels. Zie Azure Functions-extensiebundels voor meer informatie.
Als uw app preview-functionaliteit moet gebruiken, moet u in plaats daarvan verwijzen naar de nieuwste versie van de preview-bundel. Zie Werken met preview-extensiebundels voor meer informatie.
U kunt preview-functionaliteit bekijken op de releasepagina van Azure Functions SQL Extensions.
Notitie
Belangrijke wijzigingen tussen preview-releases van de Azure SQL-bindingen voor Azure Functions vereisen dat alle functies die gericht zijn op dezelfde database, dezelfde versie van het SQL-extensiepakket gebruiken.
Pakketten bijwerken
Voeg het pakket Azure Functions Java SQL Types toe aan uw functions-project met een update voor het pom.xml bestand in uw project, zoals in dit voorbeeld:
<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</version>
</dependency>
SQL-verbindingsreeks
Azure SQL-bindingen voor Azure Functions hebben een vereiste eigenschap voor de verbindingsreeks op alle bindingen en triggers. Deze geven de verbindingsreeks door aan de bibliotheek Microsoft.Data.SqlClient en ondersteunen de verbindingsreeks zoals gedefinieerd in de sqlClient ConnectionString-documentatie.
Belangrijk
Voor optimale beveiliging moet u Microsoft Entra ID met beheerde identiteiten gebruiken voor verbindingen tussen Functions en Azure SQL Database. Beheerde identiteiten maken uw app veiliger door geheimen uit uw toepassingsimplementaties te elimineren, zoals referenties in de verbindingsreeks s, servernamen en poorten die worden gebruikt. In deze zelfstudie leert u hoe u beheerde identiteiten gebruikt, een functie-app verbinden met Azure SQL met beheerde identiteiten en SQL-bindingen.
Belangrijke trefwoorden zijn:
- 
              Authentication: hiermee kan een functie verbinding maken met Azure SQL met Microsoft Entra ID en beheerde identiteiten. Zie Een functie-app verbinden met Azure SQL met beheerde identiteiten en SQL-bindingen voor meer informatie.
- 
              Command timeout: staat een functie toe om te wachten op de opgegeven hoeveelheid tijd in seconden voordat een query wordt beëindigd (standaard 30 seconden)
- 
              ConnectRetryCount: staat een functie toe om automatisch extra pogingen tot opnieuw verbinding te maken, met name van toepassing op de serverloze laag van Azure SQL Database (standaard 1)
- 
              Pooling: hiermee kan een functie verbindingen met de database hergebruiken, waardoor de prestaties (standaardtrue) kunnen worden verbeterd. Aanvullende instellingen voor groepsgewijze verbindingen zijn onder andereConnection Lifetime,Max Pool SizeenMin Pool Size. Meer informatie over groepsgewijze verbindingen vindt u in de ADO.NET documentatie
Overwegingen
- Azure SQL-binding ondersteunt versie 4.x en hoger van de Functions-runtime.
- De broncode voor de Azure SQL-bindingen vindt u in deze GitHub-opslagplaats.
- Voor deze binding is verbinding met een Azure SQL- of SQL Server-database vereist.
- Uitvoerbindingen voor tabellen met kolommen met gegevenstypen NTEXT,TEXTofIMAGEworden niet ondersteund en upserts van gegevens mislukken. Deze typen worden verwijderd in een toekomstige versie van SQL Server en zijn niet compatibel met deOPENJSONfunctie die wordt gebruikt door deze Azure Functions-binding.
- Gebruik beheerde identiteiten in plaats van gebruikersnamen en wachtwoorden.
- Overweeg het gebruik van een Azure Key Value om toepassingsinstellingen op te slaan.
Voorbeelden
Naast de voorbeelden voor C#, Java, JavaScript, PowerShell en Python die beschikbaar zijn in de GitHub-opslagplaats voor Azure SQL-bindingen, zijn er meer beschikbaar in Azure-voorbeelden:
- C# ToDo API-voorbeeld met Azure SQL-bindingen
- SQL-bindingen gebruiken in Azure Stream Analytics
- Gegevens verzenden vanuit Azure SQL met Python