Share via


Creación de Azure Functions con la extensión de enlaces SQL para Visual Studio Code

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

La compatibilidad de Azure Functions con enlaces SQL está disponible en la versión preliminar para los enlaces de entrada y salida, lo que facilita la conexión de una base de datos Azure SQL o de SQL Server a Azure Functions. La extensión de enlaces SQL para Visual Studio Code (VS Code) facilita el proceso de desarrollo de Azure Functions con enlaces SQL y se instala automáticamente con la extensión mssql para el paquete de extensiones de VS Code. En este artículo se muestra cómo se puede usar la extensión de enlaces SQL para Visual Studio Code para crear Azure Functions con enlaces SQL.

Nota

Actualmente, la extensión de enlaces SQL solo admite Azure Functions de C#. Azure Functions de JavaScript y Python admiten enlaces SQL, pero no son compatibles con la extensión de enlaces SQL en este momento.

Desde el Explorador de objetos

Para crear una función de Azure desde un explorador de objetos específico Table o View en el explorador de objetos, haga clic con el botón derecho en una tabla o vista desde un servidor conectado en el explorador de objetos de SQL Server y seleccione Create Azure Function with SQL Binding..

Comando del explorador de objetos de tabla: captura de pantalla del menú contextual del explorador de objetos para agregar un enlace SQL desde la tabla.

Comando del explorador de objetos de vista: captura de pantalla del menú contextual del explorador de objetos para agregar un enlace SQL desde la vista.

Consulte más documentación para crear una función de Azure con enlaces SQL desde el explorador de objetos de SQL Server aquí.

Desde la paleta de comandos

Ejecute el comando MS SQL: Create Azure Function with SQL Binding desde la paleta de comandos para crear una nueva función con un enlace SQL.

Comando de paleta de comandos de VS Code

Consulte más documentación para crear una función de Azure con enlaces SQL desde la paleta de comandos aquí.

En una función de Azure existente

Abra la función de Azure de C# en un editor y, a continuación, ejecute el comando MS SQL: Add SQL Binding desde la paleta de comandos para agregar un enlace SQL a una función existente.

Comando de la paleta de comandos de VS Code

Vea aquí más documentación.

Código generado para Azure Functions con enlaces SQL

Código generado para la función de Azure con el enlace de entrada de 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);
        }
    }
}

Código generado para la función de Azure con el enlace de salida de 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; }
    }
}

Pasos siguientes