Condividi tramite


Creare funzioni di Azure con l'estensione di binding SQL per Visual Studio Code

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse Analytics

Il supporto di Funzioni di Azure per i binding SQL è disponibile in anteprima per i binding di input e output, rendendo più semplice la connessione a un database SQL di Azure o a un database SQL Server a Funzioni di Azure. L'estensione di binding SQL per Visual Studio Code (VS Code) facilita il processo di sviluppo di Funzioni di Azure con associazioni SQL e viene installato automaticamente con l'estensione mssql per il pacchetto di estensione VS Code. In questo articolo viene descritto come usare l'estensione dei binding SQL per Visual Studio Code per creare funzioni di Azure con binding SQL.

Nota

Attualmente, l'estensione di binding SQL supporta solo Funzioni di Azure C#. Le Funzioni di Azure JavaScript e Python supportano i binding SQL, ma non sono supportate dall'estensione di binding SQL in questo momento.

Da Esplora oggetti

Per creare una funzione di Azure da una Table o una View specifica in Esplora oggetti (EO), fare clic con il pulsante destro del mouse su una tabella o una vista da un server connesso in Esplora oggetti di SQL Server e scegliere Create Azure Function with SQL Binding.

Comando EO per la tabella: Screenshot of object explorer context menu to add a SQL binding from Table.

Comando EO per la vista: Screenshot of object explorer context menu to add a SQL binding from View.

Altre informazioni su come creare una funzione di Azure con i binding SQL da Esplora oggetti di SQL Server sono disponibili nella documentazione qui.

Dal riquadro comandi

Eseguire il comando MS SQL: Create Azure Function with SQL Binding dal riquadro comandi per creare una nuova funzione con un binding SQL.

VS Code command palette command `MS SQL: Create Azure Function with SQL Binding (preview).

Altre informazioni su come creare una funzione di Azure con i binding SQL dal riquadro comandi sono disponibili nella documentazione qui.

In una funzione di Azure esistente

Aprire la funzione di Azure C# in un editor e quindi eseguire il comando MS SQL: Add SQL Binding dal riquadro comandi per aggiungere un binding SQL a una funzione esistente.

VS Code command palette command `MS SQL: Add SQL Binding (preview).

Per altre informazioni, vedere qui.

Codice generato per funzioni di Azure con binding SQL

Il codice generato per la funzione di Azure con binding di input 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);
        }
    }
}

Il codice generato per la funzione di Azure con binding di output 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; }
    }
}

Passaggi successivi