Avvio rapido: Creare una funzione in Azure con Python usando Visual Studio Code
In questo articolo si userà Visual Studio Code per creare una funzione Python che risponde alle richieste HTTP. Dopo aver testato il codice in locale, verrà distribuito nell'ambiente serverless di Funzioni di Azure.
Questo articolo usa il modello di programmazione Python v2 per Funzioni di Azure, che fornisce un approccio basato su decorator per la creazione di funzioni. Per ulteriori informazioni sul modello di programmazione Python v2, vedere la Guida di riferimento per gli sviluppatori
Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.
È inoltre disponibile una versione di questo articolo basata sull'interfaccia della riga di comando.
Questo video illustra come creare una funzione Python in Azure usando Visual Studio Code.
I passaggi del video sono descritti anche nelle sezioni seguenti.
Configurare il tuo ambiente
Prima di iniziare, assicurarsi di disporre dei requisiti seguenti:
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Versione di Python che è supportata da Funzioni di Azure. Per altre informazioni, vedere la Procedura per installare Python.
Visual Studio Code in una delle piattaforme supportate.
L'estensione Funzioni di Azure per Visual Studio Code, versione 1.8.1 o successiva.
Emulatore di archiviazione locale dell'estensione Azurite V3. Anche se è possibile usare un account di archiviazione di Azure effettivo, questo articolo presuppone che si stia usando questo emulatore Azurite.
Installare o aggiornare Core Tools
L'estensione Funzioni di Azure per Visual Studio Code si integra con Azure Functions Core Tools in modo da poter eseguire ed svolgere il debug delle funzioni in locale in Visual Studio Code usando il runtime di Funzioni di Azure. Prima di iniziare, è consigliabile installare Core Tools in locale o aggiornare un'installazione esistente per usare la versione più recente.
In Visual Studio Code selezionare F1 per aprire il riquadro comandi e quindi cercare ed eseguire il comando Funzioni di Azure: installare o aggiorna Core Tools.
Questo comando tenta di avviare un'installazione basata su pacchetto della versione più recente di Core Tools o di aggiornare un'installazione basata su pacchetti esistente. Se nel computer locale non è installato npm o Homebrew, è necessario installare o aggiornare manualmente Core Tools.
Creare il progetto locale
In questa sezione si userà Visual Studio Code per creare un progetto di Funzioni di Azure locale in Python. Più avanti in questo articolo viene pubblicato il codice della funzione in Azure.
In Visual Studio Code premere F1 per aprire il riquadro comandi e cercare ed eseguire il comando
Azure Functions: Create New Project...
.Scegliere la posizione della directory per l'area di lavoro del progetto e quindi scegliere Seleziona. È necessario creare una nuova cartella o scegliere una cartella vuota per l'area di lavoro del progetto. Non scegliere una cartella di progetto che fa già parte di un'area di lavoro.
Quando richiesto, immettere le informazioni seguenti:
Richiesta Selezione Selezionare una lingua Scegliere Python (Programming Model V2)
.Selezionare l'interprete Python per creare un ambiente virtuale Scegliere l'interprete Python preferito. Se un’opzione non viene visualizzata, digitare il percorso completo del file binario di Python. Selezionare un modello per la prima funzione del progetto Scegliere HTTP trigger
.Nome della funzione da creare Immetti HttpExample
.Livello di autorizzazione Scegliere ANONYMOUS
, che consente a chiunque di chiamare l'endpoint della funzione. Per altre informazioni, vedere Livello di autorizzazione.Selezionare come si vuole aprire il progetto Scegliere Open in current window
.Visual Studio Code usa le informazioni fornite e genera un progetto di Funzioni di Azure con un trigger HTTP. È possibile visualizzare i file di progetto locali in Explorer. Il file di progetto
function_app.py
generato contiene le funzioni.Nel file local.settings.json aggiornare l'impostazione
AzureWebJobsStorage
come nell'esempio seguente:"AzureWebJobsStorage": "UseDevelopmentStorage=true",
Questo indica all'host di Funzioni locale di usare l'emulatore di archiviazione per la connessione di archiviazione richiesta dal modello Python v2. Quando si pubblica il progetto in Azure, questa impostazione usa invece l'account di archiviazione predefinito. Se si usa un account di Archiviazione di Azure durante lo sviluppo locale, impostare la stringa di connessione dell'account di archiviazione qui.
Avviare l'emulatore
In Visual Studio Code premere F1 per aprire il riquadro comandi. Nel riquadro comandi cercare e selezionare
Azurite: Start
.Controllare la barra inferiore e verificare che i servizi di emulazione di Azurite siano in esecuzione. In questo caso, è ora possibile eseguire la funzione in locale.
Eseguire la funzione in locale
Visual Studio Code si integra con Azure Functions Core Tools per consentire l'esecuzione di questo progetto nel computer di sviluppo locale prima della pubblicazione in Azure.
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. È possibile visualizzare l'endpoint dell'URL della funzione attivata da HTTP eseguita in locale.
In caso di problemi con l'esecuzione in Windows, assicurarsi che il terminale predefinito per Visual Studio Code non sia impostato su WSL Bash.
Con Core Tools ancora in esecuzione nel terminale, scegliere l'icona di Azure nella barra delle attività. Nell'area dell’area di lavoro espandere Progetto locale> Funzioni. Fare clic con il pulsante destro del mouse (Windows) o CTRL - fare clic sulla nuova funzione (macOS) e scegliere Esegui funzione ora....
In Immettere il corpo della richiesta viene visualizzato il valore
{ "name": "Azure" }
del corpo del messaggio di richiesta. Premere INVIO per inviare il messaggio di richiesta alla funzione.Quando la funzione viene eseguita in locale e restituisce una risposta, viene generata una notifica in Visual Studio Code. Le informazioni sull'esecuzione della funzione sono visualizzate nel riquadro Terminale.
Con il pannello Terminale attivo, premere CTRL+C per arrestare Core Tools e disconnettere il debugger.
Dopo aver verificato la corretta esecuzione della funzione nel computer locale, è possibile usare Visual Studio Code per pubblicare il progetto direttamente in Azure.
Accedere ad Azure
Prima di poter creare risorse di Azure o pubblicare l'app, è necessario accedere ad Azure.
Se non si è ancora effettuato l'accesso, selezionare l'icona di Azure nella barra attività. Successivamente, in Risorse, selezionare Accedi ad Azure.
Se si è già connessi e si possono visualizzare le sottoscrizioni esistenti, passare alla sezione successiva. Se non si dispone ancora di un account Azure, selezionare Crea un account Azure. Gli studenti possono selezionare Crea un account Microsoft Azure for Students.
Quando viene visualizzata la richiesta nel browser, selezionare l'account Azure e accedere con le credenziali corrispondenti. Se si crea un nuovo account, è possibile accedere dopo la creazione dell'account.
Dopo avere eseguito l'accesso, è possibile chiudere la nuova finestra del browser. Le sottoscrizioni che appartengono all'account Azure vengono visualizzate nella barra laterale.
Creare l'app per le funzioni in Azure
In questa sezione vengono create un'app per le funzioni e le risorse correlate nella sottoscrizione di Azure. Molte delle decisioni di creazione delle risorse vengono prese in base ai comportamenti predefiniti. Per un maggiore controllo sulle risorse create, è necessario invece creare l'app per le funzioni con opzioni avanzate.
In Visual Studio Code premere F1 per aprire il riquadro comandi. Al prompt (
>
), immettere e selezionare Funzioni di Azure: Crea app per le funzioni in Azure.Ai prompt, immettere le informazioni seguenti:
Richiesta Azione Selezionare la sottoscrizione Selezionare la sottoscrizione di Azure da usare. Il prompt non è visualizzato quando è visibile una sola sottoscrizione in Risorse. Immettere un nome univoco a livello globale per l'app per le funzioni: Inserire un nome valido in un percorso URL. Il nome inserito viene convalidato per assicurarsi che sia univoco in Funzioni di Azure. Selezionare uno stack di runtime Selezionare la versione della lingua attualmente eseguita in locale. Selezionare una località per le nuove risorse Selezionare un'area di Azure. Per prestazioni ottimali, scegliere un'area vicina. L'estensione di Azure mostra lo stato delle singole risorse durante la creazione in Azure nel pannello Azure: Log attività.
Quando viene creata l'app per le funzioni, nella sottoscrizione di Azure vengono create le risorse correlate seguenti. Le risorse vengono denominate in base al nome immesso per l'app per le funzioni.
- Un gruppo di risorse, ovvero un contenitore logico di risorse correlate.
- Un account di Archiviazione di Azure standard, che mantiene lo stato e altre informazioni sul progetto.
- Un'app per le funzioni, che fornisce l'ambiente per l'esecuzione del codice della funzione. Un'app per le funzioni consente di raggruppare le funzioni come un'unità logica per semplificare la gestione, la distribuzione e la condivisione delle risorse all'interno dello stesso piano di hosting.
- Un piano di Servizio app di Azure, che definisce l'host sottostante per l'app per le funzioni.
- Istanza di Application Insights connessa all'app per le funzioni e che tiene traccia dell'uso delle funzioni nell'app.
Dopo la creazione dell'app per le funzioni e dopo l'applicazione del pacchetto di distribuzione viene visualizzata una notifica.
Suggerimento
Per impostazione predefinita, le risorse di Azure richieste dall'app per le funzioni vengono create in base al nome immesso per l'app per le funzioni. Per impostazione predefinita, le risorse vengono create con l'app per le funzioni nello stesso gruppo di risorse. Per personalizzare i nomi delle risorse associate o riutilizzare le risorse esistenti, pubblicare il progetto con le opzioni di creazione avanzate.
Distribuire il progetto in Azure
Importante
La distribuzione in un'app per le funzioni esistente sovrascrive sempre il contenuto di tale app in Azure.
Nel riquadro comandi immettere quindi selezionare Funzioni di Azure: Distribuisci nell'app per le funzioni.
Selezionare l'app per le funzioni appena creata. Quando viene richiesto di sovrascrivere le distribuzioni precedenti, selezionare Distribuisci per distribuire il codice della funzione nella nuova risorsa dell'app per le funzioni.
Al termine della distribuzione, selezionare Visualizza output per visualizzare i risultati della creazione e della distribuzione, incluse le risorse di Azure create. Se non si riesce a visualizzare la notifica, selezionare l'icona della campana nell'angolo in basso a destra per visualizzarla di nuovo.
Eseguire la funzione in Azure
Premere F1 per visualizzare il riquadro comandi, quindi cercare ed eseguire il comando
Azure Functions:Execute Function Now...
. Se richiesto, selezionare la sottoscrizione.Selezionare la nuova risorsa app per le funzioni e
HttpExample
come funzione.In Immettere il corpo della richiesta digitare
{ "name": "Azure" }
, quindi premere INVIO per inviare il messaggio di richiesta alla funzione.Quando la funzione viene eseguita in Azure, la risposta viene visualizzata nell'area di notifica. Espandere la notifica per esaminare la risposta completa.
Pulire le risorse
Per continuare con il passaggio successivo e aggiungere alla funzione un'associazione alla coda di Archiviazione di Azure, sarà necessario mantenere tutte le risorse esistenti per poterle riutilizzare.
In caso contrario, seguire questa procedura per eliminare l'app per le funzioni e le risorse correlate per evitare l'addebito di costi aggiuntivi.
In Visual Studio Code premere F1 per aprire il riquadro comandi. Nel riquadro comandi cercare e selezionare
Azure: Open in portal
.Scegliere l'app per le funzioni e premere INVIO. La pagina dell'app per le funzioni viene aperta nel portale di Azure.
Nella scheda Panoramica selezionare il collegamento accanto a Gruppo di risorse.
Nella pagina Gruppo di risorse esaminare l'elenco delle risorse incluse e verificare che siano quelle da eliminare.
Selezionare Elimina gruppo di risorse e seguire le istruzioni.
L'eliminazione potrebbe richiedere alcuni minuti. Al termine, viene visualizzata una notifica per pochi secondi. È anche possibile selezionare l'icona a forma di campana nella parte superiore della pagina per visualizzare la notifica.
Per altre informazioni sui costi di Funzioni di Azure, vedere Stima dei costi del piano a consumo.
Passaggi successivi
È stata creata e distribuita un'app per le funzioni con una semplice funzione attivata tramite HTTP. Negli articoli successivi si espande tale funzione connettendosi a un servizio di archiviazione in Azure. Per altre informazioni sulla connessione ad altri servizi di Azure, vedere Aggiungere associazioni a una funzione esistente in Funzioni di Azure.