Overzicht van Azure SQL-bindingen voor Azure Functions

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 Type
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

De extensie SQL-bindingen maakt deel uit van de v4-extensiebundel, die is opgegeven in uw host.json projectbestand.

De extensiebundel wordt opgegeven met de volgende code in uw host.json bestand:

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

Functions-runtime

Bundel installeren

De extensie SQL-bindingen maakt deel uit van de v4-extensiebundel, die is opgegeven in uw host.json projectbestand.

De extensiebundel wordt opgegeven met de volgende code in uw host.json bestand:

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

Bundel installeren

De extensie SQL-bindingen maakt deel uit van de v4-extensiebundel, die is opgegeven in uw host.json projectbestand.

De extensiebundel wordt opgegeven met de volgende code in uw host.json bestand:

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

Pakketten bijwerken

Voeg de Java-bibliotheek voor SQL-bindingen toe aan uw functions-project met een update voor het pom.xml bestand in uw Java Azure Functions-project, zoals te zien is in het volgende codefragment:

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

U kunt de preview-extensiebundel gebruiken met een update van het pom.xml bestand in uw Java Azure Functions-project, zoals te zien is in het volgende codefragment:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0-preview</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 documentatie van SqlClient Verbinding maken ionString. Belangrijke trefwoorden zijn:

  • Authentication staat een functie toe om verbinding te maken met Azure SQL met Microsoft Entra ID, waaronder Active Directory Managed Identity
  • 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 staat een functie toe om verbindingen met de database opnieuw te gebruiken, waardoor de prestaties (standaard true) kunnen worden verbeterd. Aanvullende instellingen voor groepsgewijze verbindingen zijn onder andere Connection Lifetime, Max Pool Sizeen Min 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, TEXTof IMAGE worden niet ondersteund en upserts van gegevens mislukken. Deze typen worden verwijderd in een toekomstige versie van SQL Server en zijn niet compatibel met de OPENJSON functie die wordt gebruikt door deze Azure Functions-binding.

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:

Volgende stappen