Compartir a través de


Crear 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 versión preliminar para enlaces de entrada y salida. Los enlaces SQL facilitan la conexión de una base de datos de Azure SQL o una base de datos de SQL Server a Azure Functions. La extensión Enlaces SQL para Visual Studio 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 Visual Studio 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 Enlaces SQL solo admite C# Azure Functions. JavaScript y Python Azure Functions admiten enlaces SQL, pero no son compatibles con la extensión de enlaces de SQL en este momento.

Desde el Explorador de objetos

Para crear una función de Azure a partir de una tabla o vista específica 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 Crear función de Azure con enlace SQL.

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 View Object Explorer:

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

Para obtener más información, consulte Crear Azure Functions con la extensión de vinculaciones SQL para Visual Studio Code mediante el Explorador de objetos.

Desde la paleta de comandos

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

Captura de pantalla de la creación de una nueva función de Azure con la vinculación de SQL usando la paleta de comandos.

Para obtener más información, consulte Crear funciones de Azure Functions con la extensión de enlaces de SQL para Visual Studio Code mediante la paleta de comandos.

En una función de Azure existente

Para agregar un enlace SQL a una función existente, abra la función de Azure de C# en un editor. A continuación, ejecute el comando MS SQL: Agregar vinculación SQL desde la paleta de comandos.

Captura de pantalla de cómo agregar un enlace SQL a una función existente de Azure mediante el enlace SQL y la paleta de comandos.

Para obtener más información, consulte Crear funciones de Azure Functions con la extensión de enlaces de SQL para Visual Studio Code mediante la paleta de comandos.

Código generado para Azure Functions con enlaces SQL

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

El código generado para la función de Azure con vinculación de salida 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; }
    }
}