共用方式為


透過適用於 Visual Studio Code 的 SQL 繫結延伸模組建立 Azure 函數

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics

SQL 繫結的 Azure Functions 支援在預覽版可供輸入和輸出繫結使用,讓您更輕鬆連線到 Azure SQL 資料庫或從 SQL Server 資料庫連線到 Azure Functions 的連線。 Visual Studio Code (VS Code) 的 SQL 繫結延伸模組可協助使用 SQL 繫結開發 Azure Functions 的流程,並隨 VS Code 的 mssql 延伸模組擴充套件一起自動安裝。 本文說明如何使用適用於 Visual Studio Code的 SQL 繫結延伸模組,來建立具有 SQL 繫結的 Azure Functions。

注意

目前,SQL 繫結延伸模組僅支援 C# Azure Functions。 JavaScript 和 Python Azure Functions 支援 SQL 繫結,但目前 SQL 繫結延伸模組不支援。

從物件總管

若要在物件總管 (OE) 中從特定 TableView 建立 Azure Function,請以滑鼠右鍵按一下 SQL Server 物件總管中連線伺服器的資料表或檢視,然後選取 Create Azure Function with SQL Binding.

資料表 OE 命令從資料表新增 SQL 繫結的物件總管捷徑功能表螢幕擷取畫面。

檢視 OE 命令從檢視新增 SQL 繫結的物件總管捷徑功能表螢幕擷取畫面。

如需從 SQL Server 物件總管建立具有 SQL 繫結 Azure 函數的進一步文件,請參閱這裡

從命令選擇區

從命令選擇區執行 MS SQL: Create Azure Function with SQL Binding 命令,以建立具有 SQL 繫結的新函數。

VS Code 命令選擇區命令 MS SQL: Create Azure Function with SQL Binding (preview)。

如需從命令選擇區中建立具有 SQL 繫結 Azure 函數的進一步文件,請參閱這裡

在現有的 Azure 函數中

在編輯器中開啟 C# Azure 函數,然後從命令選擇區執行 MS SQL: Add SQL Binding 命令,以將 SQL 繫結新增至現有的函數。

VS Code 命令選擇區命令 MS SQL: Add SQL Binding (preview)。

請參閱這裡的進一步文件。

具有 SQL 繫結之 Azure Functions 產生的程式碼

為具有 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);
        }
    }
}

為具有 SQL 輸出繫結的 Azure 函數產生的程式碼:

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

下一步