适用于:SQL Server
Azure 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 函数”。
表对象浏览器命令:
查看对象浏览器命令:
有关详细信息,请参阅 通过对象资源管理器使用 Visual Studio Code 的 SQL 绑定扩展创建 Azure Functions。
从命令面板中
若要使用 SQL 绑定创建新函数,请从命令面板运行 MS SQL:使用 SQL 绑定命令创建 Azure 函数 。
有关详情,请参阅通过命令面板使用 Visual Studio Code 的 SQL 绑定扩展创建 Azure Functions。
在现有的 Azure 函数中
若要将 SQL 绑定添加到现有函数,请在编辑器中打开 C# Azure 函数。 然后,从命令面板运行 MS SQL:添加 SQL 绑定 命令。
有关详情,请参阅通过命令面板使用 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; }
}
}