Поделиться через


Создание функций Azure с расширением SQL-привязок для Visual Studio Code

Область применения:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse Analytics

Поддержка функций Azure для привязок SQL доступна в предварительной версии для входных и выходных привязок. Привязки SQL упрощают подключение базы данных SQL Azure или базы данных SQL Server к функциям Azure. Расширение привязок SQL для Visual Studio Code упрощает процесс разработки функций Azure с привязками SQL и автоматически устанавливается с расширением MSSQL для пакета расширений Visual Studio Code .

В этой статье показано, как использовать расширение SQL Bindings для Visual Studio Code для создания Azure Functions с привязками SQL.

Примечание.

В настоящее время расширение "Привязки SQL" поддерживает только функции Azure на C#. Функции Azure на JavaScript и Python поддерживают привязки SQL, но в настоящее время они не поддерживаются расширением SQL Bindings.

Из обозревателя объектов

Чтобы создать функцию Azure из определенной таблицы или представления в обозревателе объектов, щелкните правой кнопкой мыши таблицу или представление с подключенного сервера в обозревателе объектов SQL Server и выберите "Создать функцию Azure с привязкой SQL".

Команда обозревателя объектов таблицы:

Снимок экрана: контекстное меню обозревателя объектов для добавления привязки SQL из таблицы.

Команда просмотра обозревателя объектов:

Снимок экрана контекстного меню обозревателя объектов для добавления привязки SQL из представления.

Дополнительные сведения см. в разделе Создание функций Azure с использованием расширения SQL Bindings для Visual Studio Code через обозреватель объектов.

Из палитры команд

Чтобы создать новую функцию с привязкой SQL, запустите MS SQL: создайте функцию Azure с помощью команды привязки SQL из палитры команд.

Снимок экрана: создание новой функции Azure с привязкой SQL с помощью палитры команд.

Для получения более подробной информации см. в статье "Создание функции Azure с расширением привязок SQL для Visual Studio Code с помощью Командной палитры".

В рамках существующей функции Azure

Чтобы добавить привязку SQL к существующей функции, откройте функцию Azure C# в редакторе. Затем выполните команду MS SQL: Add SQL Binding из командной палитры.

Скриншот добавления привязки SQL к существующей функции Azure с использованием палитры команд.

Для получения более подробной информации см. в статье "Создание функции Azure с расширением привязок SQL для Visual Studio Code с помощью Командной палитры".

Созданный код для функций Azure с привязками SQL

Код, созданный для функции Azure с помощью входной привязки 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);
        }
    }
}

Код, созданный для функции Azure с 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; }
    }
}