Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva si usa Visual Studio Code per compilare un'app che risponde alle modifiche in una tabella del database SQL di Azure. Dopo aver testato il codice in locale, lo distribuisci a una nuova app per funzioni serverless in esecuzione in un piano di consumo Flex in Azure Functions.
L'origine del progetto usa l'estensione azd (Azure Developer CLI) con Visual Studio Code per semplificare l'inizializzazione e la verifica del codice del progetto in locale e la distribuzione del codice in Azure. Questa distribuzione segue le procedure consigliate correnti per le distribuzioni di Funzioni di Azure sicure e scalabili.
Importante
Anche se la risposta alle modifiche in un database SQL di Azure è supportata per tutti i linguaggi, questo scenario di avvio rapido include attualmente solo esempi per C#, Python e TypeScript. Per completare questa guida introduttiva, selezionare una di queste lingue supportate nella parte superiore dell'articolo.
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuito.
Visual Studio Code in una delle piattaforme supportate.
Estensione Funzioni di Azure per Visual Studio Code. Questa estensione richiede Azure Functions Core Tools. Quando questo strumento non è disponibile in locale, l'estensione tenta di installarla usando un programma di installazione basato su pacchetti. È anche possibile installare o aggiornare il pacchetto Core Tools eseguendo
Azure Functions: Install or Update Azure Functions Core Toolsdal riquadro comandi. Se nel computer locale non è installato npm o Homebrew, è necessario installare o aggiornare manualmente Core Tools.
Estensione C# per Visual Studio Code.
-
Node.js 18.x o versione successiva. Usare il comando
node --versionper controllare la versione in uso.
Versioni di Python supportate da Funzioni di Azure. Per altre informazioni, vedere Procedura per installare Python.
Estensione Python per Visual Studio Code.
- Estensione dell'interfaccia della riga di comando per sviluppatori di Azure per Visual Studio Code.
- Estensione SQL Server (mssql) per Visual Studio Code.
Inizializzare il progetto
È possibile usare il azd init comando dal riquadro comandi per creare un progetto di codice di Funzioni di Azure locale da un modello.
In Visual Studio Code aprire una cartella o un'area di lavoro in cui si vuole creare il progetto.
Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Initialize App (init)e quindi scegliere Seleziona un modello.Quando richiesto, cercare e selezionare
Azure Functions with SQL Triggers and Bindings.Quando richiesto, immettere un nome di ambiente univoco, ad esempio
sqldbchanges.
Questo comando esegue il pull dei file di progetto dal repository dei modelli e inizializza il progetto nella cartella o nell'area di lavoro corrente. In azd, l'ambiente viene usato per mantenere un contesto di distribuzione univoco per l'app ed è possibile definirne più di uno. Fa anche parte del nome del gruppo di risorse creato in Azure.
Questo comando esegue il pull dei file di progetto dal repository dei modelli e inizializza il progetto nella cartella o nell'area di lavoro corrente. In azd, l'ambiente viene usato per mantenere un contesto di distribuzione univoco per l'app ed è possibile definirne più di uno. Fa anche parte del nome del gruppo di risorse creato in Azure.
Questo comando esegue il pull dei file di progetto dal repository dei modelli e inizializza il progetto nella cartella o nell'area di lavoro corrente. In azd, l'ambiente viene usato per mantenere un contesto di distribuzione univoco per l'app ed è possibile definirne più di uno. Fa anche parte del nome del gruppo di risorse creato in Azure.
Prima di poter eseguire l'app in locale, è necessario creare le risorse in Azure.
Creare risorse di Azure
Questo progetto è configurato per l'uso del azd provision comando per creare un'app per le funzioni in un piano Flex Consumption, insieme ad altre risorse di Azure necessarie che seguono le procedure consigliate correnti.
In Visual Studio Code premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Sign In with Azure Developer CLIe quindi accedere usando l'account Azure.Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Provision Azure resources (provision)per creare le risorse di Azure necessarie.Quando richiesto nella finestra Terminale, specificare questi parametri di distribuzione obbligatori:
Rapido Description Selezionare una sottoscrizione di Azure da usare Selezionare la sottoscrizione in cui si desidera creare le risorse. parametro di distribuzione per la località Area di Azure in cui creare il gruppo di risorse che contiene le nuove risorse di Azure. Vengono visualizzate solo le aree che attualmente supportano il piano a consumo Flex. Parametro di distribuzione vnetEnabled Mentre il modello supporta la creazione di risorse all'interno di una rete virtuale, per semplificare la distribuzione e i test, scegliere False.
Il azd provision comando usa la risposta a questi prompt con i file di configurazione Bicep per creare e configurare queste risorse di Azure necessarie, seguendo le procedure consigliate più recenti:
- Piano a consumo Flex e app per le funzioni
- Database SQL di Azure (nome predefinito: ToDo)
- Archiviazione di Azure (richiesta) e Application Insights (scelta consigliata)
- Criteri di accesso e ruoli per l'account
- Connessioni da servizio a servizio che usano identità gestite (anziché stringhe di connessione archiviate)
Gli hook di post-provisioning generano anche il file local.settings.json, necessario per l'esecuzione locale. Questo file contiene le impostazioni necessarie per connettersi al database in Azure.
Esaminare il codice (facoltativo)
L'esempio definisce due funzioni:
| Nome della funzione | File di codice | Tipo di innesco | Description |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | Trigger HTTP | Accetta un payload JSON formattato correttamente e usa l'associazione di output SQL per inserire l'oggetto come riga nella ToDo tabella. |
ToDoTrigger |
sql_trigger.cs | Trigger SQL | Monitorizza la tabella ToDo per le modifiche delle righe e restituisce un oggetto che rappresenta le righe modificate. |
Il ToDoItem tipo è definito in ToDoItem.cs.
| Nome della funzione | File di codice | Tipo di innesco | Description |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | Trigger HTTP | Accetta un payload JSON formattato correttamente e usa l'associazione di output SQL per inserire l'oggetto come riga nella ToDo tabella. |
httptrigger-sql-output |
sql_trigger_todo | Trigger SQL | Monitorizza la tabella ToDo per le modifiche delle righe e restituisce un oggetto che rappresenta le righe modificate. |
Il ToDoItem tipo è definito in todo_item.py.
| Nome della funzione | File di codice | Tipo di innesco | Description |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | Trigger HTTP | Accetta un payload JSON formattato correttamente e usa l'associazione di output SQL per inserire l'oggetto come riga nella ToDo tabella. |
sqlTriggerToDo |
sql_trigger.ts | Trigger SQL | Monitorizza la tabella ToDo per le modifiche delle righe e restituisce un oggetto che rappresenta le righe modificate. |
Il ToDoItem tipo è definito in ToDoItem.ts.
Entrambe le funzioni usano le variabili di ambiente a livello AZURE_SQL_CONNECTION_STRING_KEY_* di app che definiscono una connessione basata sull'identità all'istanza del database SQL di Azure usando l'autenticazione dell'ID Microsoft Entra. Queste variabili di ambiente vengono create sia in Azure (impostazioni dell'app per le funzioni) che in locale (local.settings.json) durante l'operazione azd provision .
Connettersi al database SQL
È possibile usare l'estensione SQL Server (mssql) per Visual Studio Code per connettersi al nuovo database. Questa estensione consente di apportare aggiornamenti nella ToDo tabella per eseguire la funzione trigger SQL.
Premere F1 e nel riquadro comandi cercare ed eseguire il comando
MS SQL: Add Connection.Nella finestra di dialogo Connessione modificare Tipo di input in Sfoglia Azure e quindi impostare queste opzioni rimanenti:
Opzione Choose Description Server Istanza di SQL Server Per impostazione predefinita, vengono visualizzati tutti i server accessibili all'account Azure. Usare Sottoscrizione, Gruppo di risorse e Località per filtrare l'elenco dei server. Banca dati ToDoDatabase creato durante il processo di provisioning. Tipo di autenticazione Microsoft Entra ID Se non è già stato eseguito l'accesso, selezionare Accedi e accedere all'account Azure. ID tenant Tenant dell'account specifico. Se l'account ha più tenant, scegliere i tenant corretti per la propria sottoscrizione. Selezionare Connetti per connettersi al database. La connessione utilizza l'account utente locale, che riceve i permessi amministrativi nel server di hosting ed è mappato come
dbonel database.Nella visualizzazione SQL Server individuare ed espandere Connessioni e quindi il nuovo server in Esplora SQL Server. Espandere Tabelle e verificare che la
ToDotabella esista. Se non esiste, potrebbe essere necessario eseguireazd provisiondi nuovo e verificare la presenza di errori.
Eseguire la funzione in locale
Visual Studio Code si integra con gli strumenti di base di Funzioni di Azure per consentire di eseguire questo progetto nel computer di sviluppo locale prima di pubblicare nella nuova app per le funzioni in Azure.
Premere F1 e nel riquadro comandi cercare ed eseguire il comando
Azurite: Start.Per avviare la funzione in locale, premere F5 o l'icona Esegui e debug nella barra attività sul lato sinistro.
Il pannello Terminale visualizza l'output di Core Tools. L'app viene avviata nel pannello Terminale ed è possibile visualizzare il nome della funzione in esecuzione in locale.
Con l'app in esecuzione, è possibile verificare ed eseguire il debug di entrambi i trigger di funzione.
Per verificare la funzione trigger HTTP che scrive su un binding di output SQL:
Copiare questo oggetto JSON, disponibile anche nel file di
test.httpprogetto:{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Questi dati rappresentano una riga inserita nel database SQL quando si chiama l'endpoint HTTP. L'associazione di output trasforma l'oggetto dati in un'operazione
INSERTnel database.Con l'app in esecuzione, nella visualizzazione Azure sotto Area di lavoro espandi Progetto locale>Funzioni.
Selezionare con il pulsante destro del mouse la funzione HTTP (o CTRL+clic su macOS), selezionare Esegui funzione ora, incollare i dati JSON copiati e premere INVIO.
La funzione gestisce la richiesta HTTP e scrive l'elemento nel database SQL connesso e restituisce l'oggetto creato.
Tornare in Esplora SQL Server, selezionare con il pulsante destro del mouse la
ToDotabella (o CTRL+clic su macOS) e scegliere Seleziona primi 1000. Quando la query viene eseguita, restituisce la riga inserita o aggiornata.Ripetere il passaggio 3 e inviare nuovamente lo stesso oggetto dati con lo stesso ID. Questa volta, l'associazione di output esegue un'operazione
UPDATEanzichéINSERTe modifica la riga esistente nel database.
Al termine, digitare CTRL+C nel terminale per arrestare il processo Core Tools.
Distribuzione su Azure
Puoi eseguire il comando azd deploy da Visual Studio Code per distribuire il codice del progetto alle risorse in Azure già configurate.
Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Developer CLI (azd): Deploy to Azure (deploy).Il
azd deploycomando crea pacchetti e distribuisce il codice nel contenitore di distribuzione. L'app viene quindi avviata ed eseguita nel pacchetto distribuito.Al termine del comando, l'app viene eseguita in Azure. Prendi nota del valore
Endpoint, ovvero l'URL dell'applicazione delle funzioni in esecuzione in Azure.
Richiamare la funzione in Azure
In Visual Studio Code premere F1 e nel riquadro comandi cercare ed eseguire il comando
Azure: Open in portal, selezionareFunction appe scegliere la nuova app. Se necessario, accedere con l'account Azure.Selezionare Flusso di log nel pannello a sinistra, che si connette ai log di Application Insights per l'app.
Tornare a Visual Studio Code per eseguire entrambe le funzioni in Azure.
Premere F1 per aprire il riquadro comandi, cercare ed eseguire il comando
Azure Functions: Execute Function Now....Cercare e selezionare la funzione app remota dall'elenco, quindi selezionare la funzione trigger HTTP.
Come in precedenza, incollare i dati dell'oggetto JSON nel corpo del payload e premere INVIO.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Per eseguire un
INSERTinvece di unUPDATE, sostituireidcon un nuovo valore GUID.Tornare al portale e visualizzare l'output di esecuzione nella finestra del log.
Pulire le risorse
Al termine dell'uso dell'app per le funzioni e delle risorse correlate, è possibile usare questo comando per eliminare l'app per le funzioni e le relative risorse da Azure ed evitare di sostenere ulteriori costi:
azd down --no-prompt
Annotazioni
L'opzione --no-prompt indica a azd di eliminare il gruppo di risorse senza conferma.
Questo comando non influisce sul progetto di codice locale.
Articoli correlati
- Scenari di Funzioni di Azure
- Piano di consumo flessibile
- Interfaccia della riga di comando per sviluppatori di Azure (azd)
- azd reference
- Sviluppo di Funzioni di Azure con Visual Studio Code
- Scrivere codici per Funzioni di Azure e testarle in locale
- Informazioni di riferimento sulle estensioni per le associazioni SQL
- Database SQL di Azure