Freigeben über


Erstellen von Azure-Funktionen mit der SQL-Bindungserweiterung für Visual Studio Code

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

Die Unterstützung von Azure Functions für SQL-Bindungen steht in der Vorschau für Eingabe- und Ausgabebindungen zur Verfügung. SQL-Bindungen erleichtern das Verbinden einer Azure SQL-Datenbank oder SQL Server-Datenbank mit Azure Functions. Die SQL Bindings-Erweiterung für Visual Studio Code erleichtert das Entwickeln von Azure Functions mit SQL-Bindungen und wird automatisch mit der MSSQL-Erweiterung für visual Studio Code-Erweiterungspaket installiert.

In diesem Artikel wird gezeigt, wie die SQL-Bindungserweiterung für Visual Studio Code verwendet werden kann, um Azure-Funktionen mit SQL-Bindungen zu erstellen.

Hinweis

Derzeit unterstützt die SQL-Bindungserweiterung nur Azure-Funktionen in C#. Azure-Funktionen in JavaScript und Python unterstützen SQL-Bindungen, werden jedoch zurzeit von der SQL-Bindungserweiterung nicht unterstützt.

Über den Objekt-Explorer

Wenn Sie eine Azure-Funktion aus einer bestimmten Tabelle oder Ansicht im Objekt-Explorer erstellen möchten, klicken Sie mit der rechten Maustaste auf eine Tabelle oder Ansicht von einem verbundenen Server im SQL Server-Objekt-Explorer, und wählen Sie "Azure-Funktion mit SQL-Bindung erstellen" aus.

Befehl "Tabellenobjekt-Explorer":

Screenshot des Kontextmenüs des Objekt-Explorers zum Hinzufügen einer SQL-Bindung aus „Table“.

Befehl 'Objekt-Explorer anzeigen':

Screenshot des Kontextmenüs des Objekt-Explorers zum Hinzufügen einer SQL-Bindung aus „View“.

Weitere Informationen finden Sie unter Erstellen von Azure-Funktionen mit der SQL-Bindungserweiterung für Visual Studio Code über den Objekt-Explorer.

Über die Befehlspalette

Um eine neue Funktion mit einer SQL-Bindung zu erstellen, führen Sie ms SQL: Create Azure Function with SQL Binding command from the command palette aus.

Screenshot des Erstellens einer neuen Azure-Funktion mit SQL-Bindung mithilfe der Befehlspalette.

Weitere Informationen finden Sie unter Erstellen von Azure-Funktionen mit der Erweiterung für SQL-Bindungen für Visual Studio Code über die Befehlspalette.

In einer vorhandenen Azure-Funktion

Um einer vorhandenen Funktion eine SQL-Bindung hinzuzufügen, öffnen Sie die C#-Azure-Funktion in einem Editor. Führen Sie dann den BEFEHL "MS SQL: Hinzufügen von SQL-Bindung " aus der Befehlspalette aus.

Screenshot des Hinzufügens einer SQL-Bindung zu einer vorhandenen Azure-Funktion mit SQL-Bindung mithilfe der Befehlspalette.

Weitere Informationen finden Sie unter Erstellen von Azure-Funktionen mit der Erweiterung für SQL-Bindungen für Visual Studio Code über die Befehlspalette.

Generierter Code für Azure-Funktionen mit SQL-Bindungen

Der für die Azure-Funktion mit SQL-Eingabebindung generierte Code:

using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;

namespace Company.Function
{
    public static class dboEmployees
    {
        // Visit https://aka.ms/sqlbindingsinput to learn how to use this input binding
    [FunctionName("dboEmployees")]
        public static IActionResult Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
            [Sql("SELECT * FROM [dbo].[Employees]",
            CommandType = System.Data.CommandType.Text,
            ConnectionStringSetting = "SqlConnectionString")] IEnumerable<Object> result,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger with SQL Input Binding function processed a request.");

            return new OkObjectResult(result);
        }
    }
}

Der für die Azure-Funktion mit SQL-Ausgabebindung generierte Code:

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;

namespace Company.Function
{
    public static class dboEmployees
    {
        // Visit [https://aka.ms/sqlbindingsoutput] to learn how to use this output binding
        [FunctionName("dboEmployees")]
        public static CreatedResult Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "addtodoitem")] HttpRequest req,
            [Sql("[dbo].[Test2]", ConnectionStringSetting = "NewSQLConnectionString")] out ToDoItem output,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger with SQL Output Binding function processed a request.");

            output = new ToDoItem
            {
                Id = "1",
                Priority = 1,
                Description = "Hello World"
            };

            return new CreatedResult($"/api/addtodoitem", output);
        }
    }

    public class ToDoItem
    {
        public string Id { get; set; }
        public int Priority { get; set; }
        public string Description { get; set; }
    }
}