Visual Studio Code용 SQL 바인딩 확장을 사용하여 Azure Functions 만들기

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

SQL 바인딩에 대한 Azure Functions 지원은 입력 및 출력 바인딩에 대해 미리 보기로 제공됩니다. 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 Function을 만들려면 SQL Server 개체 탐색기의 연결된 서버에서 테이블 또는 뷰를 마우스 오른쪽 단추 로 클릭하고 SQL 바인딩을 사용하여 Azure Function 만들기를 선택합니다.

테이블 개체 탐색기 명령:

테이블에서 SQL 바인딩을 추가하는 개체 탐색기 바로 가기 메뉴의 스크린샷.

개체 탐색기 보기 명령:

뷰에서 SQL 바인딩을 추가하는 개체 탐색기 바로 가기 메뉴의 스크린샷

자세한 내용은 개체 탐색기를 통해 Visual Studio Code용 SQL 바인딩 확장을 사용하여 Azure Functions 만들기를 참조하세요.

명령 팔레트에서

SQL 바인딩을 사용하여 새 함수를 만들려면 명령 팔레트에서 MS SQL: SQL 바인딩을 사용하여 Azure Function 만들기 명령을 실행합니다.

명령 팔레트를 사용하여 SQL 바인딩을 사용하여 새 Azure Function을 만드는 스크린샷

자세한 내용은 명령 팔레트를 통해 Visual Studio Code용 SQL 바인딩 확장을 사용하여 Azure Functions 만들기를 참조하세요.

기존 Azure Function에서

기존 함수에 SQL 바인딩을 추가하려면 편집기에서 C# Azure Function을 엽니다. 그런 다음 , 명령 팔레트에서 MS SQL: SQL 바인딩 추가 명령을 실행합니다.

명령 팔레트를 사용하여 SQL 바인딩을 사용하여 기존 Azure Function에 SQL 바인딩을 추가하는 스크린샷

자세한 내용은 명령 팔레트를 통해 Visual Studio Code용 SQL 바인딩 확장을 사용하여 Azure Functions 만들기를 참조하세요.

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