使用 Visual Studio Code 的 SQL 绑定扩展创建 Azure Functions

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics

Azure Functions 对 SQL 绑定 的支持在输入和输出绑定的预览版中提供。 通过 SQL 绑定,可以更轻松地将 Azure SQL 数据库或 SQL Server 数据库连接到 Azure Functions。 适用于 Visual Studio Code 的 SQL 绑定扩展有助于使用 SQL 绑定开发 Azure Functions 的过程,并随 Visual Studio Code 扩展包的 MSSQL 扩展 自动安装。

本文介绍如何使用 Visual Studio Code 的 SQL 绑定扩展创建具有 SQL 绑定的 Azure Functions。

注意

目前,SQL 绑定扩展仅支持 C# Azure Functions。 JavaScript 和 Python Azure Functions 支持 SQL 绑定,但 SQL 绑定扩展目前不支持。

从对象资源管理器中

若要从对象资源管理器中的特定表或视图创建 Azure 函数,请右键单击 SQL Server 对象资源管理器中连接的服务器中的表或视图,然后选择“ 使用 SQL 绑定创建 Azure 函数”。

表对象浏览器命令

从表中添加 SQL 绑定的对象资源管理器上下文菜单的屏幕截图。

查看对象浏览器命令

对象资源管理器上下文菜单的屏幕截图,用于从视图中添加 SQL 绑定。

有关详细信息,请参阅 通过对象资源管理器使用 Visual Studio Code 的 SQL 绑定扩展创建 Azure Functions

从命令面板中

若要使用 SQL 绑定创建新函数,请从命令面板运行 MS SQL:使用 SQL 绑定命令创建 Azure 函数

使用命令面板创建新的具有 SQL 绑定的 Azure 函数的屏幕截图。

有关详情,请参阅通过命令面板使用 Visual Studio Code 的 SQL 绑定扩展创建 Azure Functions

在现有的 Azure 函数中

若要将 SQL 绑定添加到现有函数,请在编辑器中打开 C# Azure 函数。 然后,从命令面板运行 MS SQL:添加 SQL 绑定 命令。

使用命令面板将 SQL 绑定添加到具有 SQL 绑定的现有 Azure 函数的屏幕截图。

有关详情,请参阅通过命令面板使用 Visual Studio Code 的 SQL 绑定扩展创建 Azure Functions

为具有 SQL 绑定的 Azure 函数生成的代码

使用 SQL 输入绑定为 Azure 函数生成的代码

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