Partager via


Créer des fonctions Azure avec l’extension Liaisons SQL pour Visual Studio Code

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

La prise en charge par Azure Functions des liaisons SQL est disponible en préversion pour les liaisons d’entrée et de sortie, ce qui facilite la connexion à une base de données Azure SQL ou SQL Server avec Azure Functions. L’extension Liaisons SQL pour Visual Studio Code facilite le processus de développement de fonctions Azure avec des liaisons SQL et est automatiquement installée avec le pack d’extensions Extension mssql pour Visual Studio Code. Cet article montre comment l’extension de liaisons SQL pour Visual Studio Code peut être utilisée pour créer des fonctions Azure avec des liaisons SQL.

Note

Actuellement, l’extension Liaisons SQL prend uniquement en charge les fonctions Azure C#. Les fonctions Azure JavaScript et Python prennent en charge les liaisons SQL, mais ne sont pas prises en charge par l’extension Liaisons SQL à ce stade.

À partir de l’Explorateur d’objets

Pour créer une fonction Azure à partir d’un Explorateur d’objets (OE) Table ou View spécifique, cliquez avec le bouton droit sur une table ou une vue à partir d’un serveur connecté dans l’explorateur d’objets SQL Server, puis sélectionnez Create Azure Function with SQL Binding.

Commande OE de table :

Capture d’écran du menu contextuel de l’Explorateur d’objets pour ajouter une liaison SQL à partir de Table.

Afficher la commande OE

Capture d’écran du menu contextuel de l’Explorateur d’objets pour ajouter une liaison SQL à partir de Vue.

Pour plus d’informations sur la création d’une fonction Azure avec des liaisons SQL à partir de l’Explorateur d’objets SQL Server, consultez Créer des fonctions Azure avec l’extension Liaisons SQL pour Visual Studio Code via l’Explorateur d’objets.

Depuis la palette de commandes

Pour créer une fonction avec une liaison SQL, exécutez la commande MS SQL: Create Azure Function with SQL Binding à partir de la palette de commandes.

Capture d’écran d’une commande de la palette de commandes Visual Studio Code MS SQL : créer une fonction Azure avec une liaison SQL (préversion).

Pour plus d’informations sur la création d’une fonction Azure avec des liaisons SQL à partir de la palette de commandes, consultez Créer des fonctions Azure avec l’extension Liaisons SQL pour Visual Studio Code via la palette de commandes.

Dans une fonction Azure existante

Pour ajouter une liaison SQL à une fonction existante, ouvrez la fonction Azure C# dans un éditeur, puis exécutez la commande MS SQL: Add SQL Binding à partir de la palette de commandes.

Capture d'écran de la commande dans la palette de commandes Visual Studio Code `MS SQL : Ajouter une liaison SQL (aperçu)`.

Pour plus d’informations, consultez Créer des fonctions Azure avec l’extension Liaisons SQL pour Visual Studio Code via la palette de commandes.

Code généré pour les fonctions Azure avec des liaisons SQL

Code généré pour la fonction Azure avec liaison d’entrée SQL :

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);
        }
    }
}

Code généré pour la fonction Azure avec liaison de sortie SQL :

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; }
    }
}