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 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 facilita el proceso de desarrollo de Azure Functions con enlaces SQL y se instala automáticamente con el paquete de extensión mssql para 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 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 de tabla OE:

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

Ver comando OE:

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

Para obtener más información sobre la creación de una función de Azure con enlaces SQL desde el Explorador de objetos de SQL Server, consulte Crear Azure Functions con la extensión de enlaces SQL para Visual Studio Code a través del 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 del comando de paleta de comandos de Visual Studio Code

Para obtener más información sobre cómo crear una función de Azure con enlaces SQL desde la paleta de comandos, 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 y ejecute el comando MS SQL: Add SQL Binding desde la paleta de comandos.

Captura de pantalla del comando de la paleta de comandos de Visual Studio Code

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

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